該foreach打印出每個標題,並且我得到所有的手風琴,但除第一個手風琴以外的所有東西都是空的。我錯過了什麼?雖然循環僅適用於第一次運行
$result2 = mysqli_query($con, "SELECT * FROM sections ORDER BY `order`");
$sectionnames = array();
while($row = mysqli_fetch_array($result2)) {
$sectionnames[] = $row['sectionname'];
}
$result = mysqli_query($con,"SELECT * FROM faq ORDER BY `order`");
foreach ($sectionnames as $sectionname) {
echo '<h3 id="sectionname">' . $sectionname . '</h3>';
echo '<div id="accordion">';
while($row = mysqli_fetch_array($result)) {
if ($sectionname == $row['section']) {
echo '<h3>' . $row['heading'] . '</h3>';
echo '<div>' . $row['content'] . '</div>';
}
}
echo '</div>';
}
等什麼,我需要做什麼來解決它 –
這是正常行爲之前有權添加此代碼。您從資源中逐行讀取數據。一旦完成,資源指針就結束了。這就是爲什麼你必須重置它。你可以做的是在你的while之前創建一個空數組,並在它內部做$ data [] = $ row。您的$ data var現在將包含您可以重複使用的所有結果。 –