Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

PHP:por que não posso fazer um loop duas vezes nos resultados do mysqli_fetch_array()?


Do PHP mysqli_fetch_array DOCS :

Você está usando um loop 'while' em $row = mysqli_fetch_array($newsQuery)

Isso significa que o loop continuará até mysqli_fetch_array($newsQuery) retorna NULL .

Esta é a razão pela qual você não pode use esse loop novamente, já que o mysqli terminou de buscar os resultados e o mysqli_fetch_array($newsQuery) agora retorna NULL até que você faça uma nova consulta.

Tente preencher uma variável com os resultados primeiro e, em seguida, faça um loop nessa variável:
$results = array();
while ($row = mysqli_fetch_array($newsQuery)) {
     $results[] = $row;
}

foreach ($results as $key => $row) {
    echo "<a href='news-article.php?articleId=" .$row["news_id"]."' class='list-group-item active'>".$row["news_title"]."</a>";
}


foreach ($results as $key => $row) {
    echo $row["news_content"];
}