Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP:Warum kann ich die Ergebnisse von mysqli_fetch_array() nicht zweimal durchlaufen?

Aus dem mysqli_fetch_array von PHP DOCS :

Sie verwenden eine 'while'-Schleife für $row = mysqli_fetch_array($newsQuery)

Dies bedeutet, dass die Schleife fortgesetzt wird, bis mysqli_fetch_array($newsQuery) gibt NULL zurück .

Das ist der Grund, warum Sie nicht können Verwenden Sie diese Schleife erneut, da mysqli das Abrufen der Ergebnisse und des mysqli_fetch_array($newsQuery) beendet hat gibt jetzt NULL zurück bis Sie eine neue Abfrage machen.

Versuchen Sie zuerst, eine Variable mit den Ergebnissen zu füllen, und wiederholen Sie dann diese 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"];
}