return 一条来自数据库的记录

return one records from database

感谢您的回答。现在它的工作,但我有下一个问题。 我重做了一个显示数据库记录的方法:

 public $id, $nazwa, $quantity, $data, $godzina, $sn, $added, $kategoria, $numrows;

    public function magazyn() {
        $resultmag = $this->magazyn = $this->conn->prepare("SELECT * FROM `products` ORDER BY `id`");
        $resultmag = $this->conn->set_charset("utf8");
        $resultmag = $this->magazyn->execute();
        $resultmag = $this->magazyn->get_result();

        if ($isset = $resultmag->num_rows > 0) {
            while ($row = $resultmag->fetch_object()) {
            $this->id = $row->id;
            $this->nazwa = $row->nazwa;
            $this->quantity = $row->quantity;
            $this->data = $row->data;
            $this->godzina = $row->godzina;
            $this->sn = $row->sn;
            $this->added = $row->added;
            $this->kategoria = $row->kategoria;
            }
            $this->numrows = $resultmag->num_rows;
        } else {
            echo "No results database";
        }
    }

    function __toString() {
        return (string) $this->numrows;
    }

    //-------------------------------
    $mag = new Magazyn();
    $mag->magazyn();

    ?>
            <table class="table table-bordered">
                <tr><th style='text-align:center'>ID</th><th style='text-align:center'>DODAŁ</th><th style='text-align:center'>NAZWA</th><th style='text-align:center'>KATEGORIA</th><th style='text-align:center'>SERIAL</th><th style='text-align:center'>ILOŚĆ</th><th style='text-align:center'>DATA</th><th style='text-align:center'>GODZINA</th><th style='text-align:center' colspan='2'>AKCJA</th></tr>
                <?php
    $color = NULL;
    $color1 = '#99bbff';
    $color2 = '#b3ccff';

    $color == $color1 ? $color = $color2 : $color = $color1;
    echo "<tr class='active'>";
    echo "<td align='center' style='background-color:" . $color . ";'>" . $mag->id . "</td>";
    echo "<td align='center' style='background-color:" . $color . ";'><a href='panel.php?page=userpanel&user=" . $mag->added . "'>" . $mag->added . "</a></td>";
    echo "<td align='center' style='background-color:" . $color . ";'>" . $mag->nazwa . "</td>";
    echo "<td align='center' style='background-color:" . $color . ";'><a href='panel.php?page=category&cat=" . $mag->kategoria . "'>" . $mag->kategoria . "</a></td>";
    echo "<td align='center' style='background-color:" . $color . ";'><a href='panel.php?page=editserial&sn=" . $mag->sn . "'>" . $mag->sn . "</a></td>";
    echo "<td align='center' style='background-color:" . $color . ";'>" . $mag->quantity . "</td>";
    echo "<td align='center' style='background-color:" . $color . ";'>" . $mag->data . "</td>";
    echo "<td align='center' style='background-color:" . $color . ";'>" . $mag->godzina . "</td>";
    echo "<td align='center'><a href='panel.php?page=magazyn&action=edit&sn=" . $mag->sn . "&nazwa=" . $mag->nazwa . "&kategoria=" . $mag->kategoria . "&id=" . $mag->id . "'</a><button  class='btn btn-default'>Edytuj</button></td>";
    echo "<td align='center'><a href='panel.php?page=magazyn&action=delete&sn=" . $mag->sn . "'</a><button  class='btn btn-default'>Usuń</button></td>";
    echo "</tr>";

问题是它从数据库中显示 ONLY ONE RECORD。 当我添加到 while echo:

while ($row = $resultmag->fetch_array()) {
    echo $this->id = $row['id'];
    echo $this->nazwa = $row['nazwa'];
    echo $this->quantity = $row['quantity'];
    echo $this->data = $row['data'];
    echo $this->godzina = $row['godzina'];
    echo $this->sn = $row['sn'];
    echo $this->added = $row['added'];
    echo $this->kategoria = $row['kategoria'];
}

显示所有记录,但不包括:

$mag->magazyn();

正如上面 Dagon 的评论所说,将您的值添加到多维数组中。而不是

public $id, $nazwa, $quantity, $data, $godzina, $sn, $added, $kategoria, $numrows;

随心所欲

public $records = array();
public $numrows;

然后您要将所有记录附加到此数组:

public function magazyn() {
    $resultmag = $this->magazyn = $this->conn->prepare("SELECT * FROM `products` ORDER BY `id`");
    $resultmag = $this->conn->set_charset("utf8");
    $resultmag = $this->magazyn->execute();
    $resultmag = $this->magazyn->get_result();

    if ($isset = $resultmag->num_rows > 0) {
        while ($row = $resultmag->fetch_object()) {
        $record['id'] = $row->id;
        $record['nazwa'] = $row->nazwa;
         // etc... Add all like above

        $this->records[] = $record;
        }
        $this->numrows = $resultmag->num_rows;
    } else {
        echo "No results database";
    }
}

然后在你的 HTML 中循环 $mag->records:

<table class="table table-bordered">
    <?php foreach ($mag->records as $record) : ?>
        <tr><th style='text-align:center'>ID</th><th style='text-align:center'>DODAŁ</th><th style='text-align:center'>NAZWA</th><th style='text-align:center'>KATEGORIA</th><th style='text-align:center'>SERIAL</th><th style='text-align:center'>ILOŚĆ</th><th style='text-align:center'>DATA</th><th style='text-align:center'>GODZINA</th><th style='text-align:center' colspan='2'>AKCJA</th></tr>
        <?php
        $color = NULL;
        $color1 = '#99bbff';
        $color2 = '#b3ccff';

        $color == $color1 ? $color = $color2 : $color = $color1;
        echo "<tr class='active'>";
        echo "<td align='center' style='background-color:" . $color . ";'>" . $record['id'] . "</td>";
        echo "<td align='center' style='background-color:" . $color . ";'><a href='panel.php?page=userpanel&user=" . $record['added'] . "'>" . $record['added'] . "</a></td>";
        echo "<td align='center' style='background-color:" . $color . ";'>" . $record['nazwa'] . "</td>";
        echo "<td align='center' style='background-color:" . $color . ";'><a href='panel.php?page=category&cat=" . $record['kategoria'] . "'>" . $record['kategoria'] . "</a></td>";
        echo "<td align='center' style='background-color:" . $color . ";'><a href='panel.php?page=editserial&sn=" . $record['sn'] . "'>" . $record['sn'] . "</a></td>";
        echo "<td align='center' style='background-color:" . $color . ";'>" . $record['quantity'] . "</td>";
        echo "<td align='center' style='background-color:" . $color . ";'>" . $record['data'] . "</td>";
        echo "<td align='center' style='background-color:" . $color . ";'>" . $record['godzina'] . "</td>";
        echo "<td align='center'><a href='panel.php?page=magazyn&action=edit&sn=" . $record['sn'] . "&nazwa=" . $record['nazwa'] . "&kategoria=" . $record['kategoria'] . "&id=" . $record['id'] . "'</a><button  class='btn btn-default'>Edytuj</button></td>";
        echo "<td align='center'><a href='panel.php?page=magazyn&action=delete&sn=" . $record['sn'] . "'</a><button  class='btn btn-default'>Usuń</button></td>";
        echo "</tr>";
    endforeach;
    ?>
</table>