PHP бесконечный l oop извлечение sql данных в таблицу html - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть вопрос о том, как я мог «остановить» эту бесконечную l oop, чтобы получить только 1 строку каждой строки SQL, а не бесконечные строки.

Вот мой код:

$consulta1 = "select * from productes where idCategoria = 1";

$resultado1 = $connexio->consultar($consulta1);

$reg1 = $connexio->obtenirRegistres($resultado1);

function tablaverdura($reg1)
{
    echo "<table>";
    while ($row = $reg1){
    echo "<tr><td>". $row['codProd'] . "</td><td>" . $row['nom']. "</td><td>". $row['descripcio']. "`enter code here`</td><td>". $row['pes']. "</td><td>". $row['stock']. "</td><td>". $row['idCategoria']. "</td></tr>";
    }
    echo "</table>";
}

я вставляю функцию tablaverdura в html.

Кроме того, functons consultar и obtenirregistres:

    function consultar($sentenciSql) {
        return $this->connexio->query($sentenciSql);
    }


    function obtenirRegistres($consulta) {
        return $consulta->fetch_array(MYSQLI_ASSOC);
    }

для выборки массива и выполнения запроса.

Результат бесконечен -> 100 форкилл на таллар 1 99 1

Мне нужен только один ряд, а не бесконечные ряды, точно такие же, как первый

1 Ответ

0 голосов
/ 21 апреля 2020

l oop бесконечно, потому что вы никогда не измените $reg1 в l oop. Это всегда только первая строка, которую вернул obtenirRegistres().

Вам нужно вызвать obtenirRegistres() в l oop, чтобы получить каждую строку.

$consulta1 = "select * from productes where idCategoria = 1";

$resultado1 = $connexio->consultar($consulta1);

tablaverdura($resultado1);

function tablaverdura($resultado1)
{
    echo "<table>";
    while ($row = $connexio->obtenirRegistres($resultado1)){
        echo "<tr><td>". $row['codProd'] . "</td><td>" . $row['nom']. "</td><td>". $row['descripcio']. "`enter code here`</td><td>". $row['pes']. "</td><td>". $row['stock']. "</td><td>". $row['idCategoria']. "</td></tr>";
    }
    echo "</table>";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...