Mysql
 sql >> Base de données >  >> RDS >> Mysql

PHP :pourquoi ne puis-je pas boucler deux fois sur les résultats de mysqli_fetch_array() ?

À partir de mysqli_fetch_array de PHP DOCS :

Vous utilisez une boucle 'while' sur $row = mysqli_fetch_array($newsQuery)

Cela signifie que la boucle continuera jusqu'à mysqli_fetch_array($newsQuery) renvoie NULL .

C'est la raison pour laquelle vous ne pouvez pas utilisez à nouveau cette boucle, puisque mysqli a fini de récupérer les résultats et le mysqli_fetch_array($newsQuery) renvoie maintenant NULL jusqu'à ce que vous fassiez une nouvelle requête.

Essayez d'abord de remplir une variable avec les résultats, puis bouclez sur cette variable :

$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"];
}