sql >> Databasteknik >  >> RDS >> Mysql

PHP:varför kan jag inte loopa två gånger på mysqli_fetch_array() resultat?

Från PHP:s mysqli_fetch_array DOCS :

Du använder en 'while'-loop på $row = mysqli_fetch_array($newsQuery)

Detta innebär att slingan kommer att fortsätta tills mysqli_fetch_array($newsQuery) returnerar NULL .

Detta är anledningen till att du inte kan använd den slingan igen, eftersom mysqli har hämtat resultaten och mysqli_fetch_array($newsQuery) returnerar nu NULL tills du gör en ny fråga.

Försök att fylla i en variabel med resultaten först och sedan loopa på den variabeln:

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


  1. LOAD_FILE returnerar NULL

  2. SQL Server 2017:Tillgängliga funktioner på Linux

  3. Matcha utbud med efterfrågan utmaning

  4. Hur kan jag beskriva en tabell i Oracle utan att använda kommandot DESCRIBE?