[英]Loop through a query result
我有一個網站,用戶可以輸入/輸入最多5個興趣。 現在,我想在表單字段中向用戶顯示用戶的興趣。 這使他們能夠直接編輯它們。
首先,我在我的興趣表中查詢與用戶相關的數據行。 然后,我使用mysqli_num_rows來確定我必須做的變量。 然后,我手動循環遍歷數組以創建每個變量。
但是有一個問題,它不會循環到下一行數據。 因此,例如$interest1
將等於$interest2
,而$interest3
將做同樣的事情。 等等等等。 這不是我想要發生的事情。 $interest2, 3, 4, and 5
應該都等於下一行數據。 我可能做錯了什么?
這是我的代碼:
$result2= mysqli_query($connect, $query2);
if (mysqli_num_rows($result2) != 0) {
if (mysqli_num_rows($result2) == 1) {
$row2= mysqli_fetch_array($result2);
$interest1= $row2['interest'];
}
else if (mysqli_num_rows($result2) == 2) {
$row2= mysqli_fetch_array($result2);
$interest1= $row2['interest'];
$interest2= $row2['interest'];
}
else if (mysqli_num_rows($result2) == 3) {
$row2= mysqli_fetch_array($result2);
$interest1= $row2['interest'];
$interest2= $row2['interest'];
$interest3= $row2['interest'];
}
else if (mysqli_num_rows($result2) == 4) {
$row2= mysqli_fetch_array($result2);
$interest1= $row2['interest'];
$interest2= $row2['interest'];
$interest3= $row2['interest'];
$interest4= $row2['interest'];
}
else if (mysqli_num_rows($result2) == 5) {
$row2= mysqli_fetch_array($result2);
$interest1= $row2['interest'];
$interest2= $row2['interest'];
$interest3= $row2['interest'];
$interest4= $row2['interest'];
$interest5= $row2['interest'];
}
}
您可能想要遍歷這個(如您所說),但也要將結果存儲在數組中,因為您已經(基本上)使用數組格式將其存儲在單獨的變量中:
$result2 = mysqli_query($connect, $query2);
$interests = array();
while ($result = mysqli_fetch_array($result2)) {
$interests[] = $result['interest'];
}
print_r($interests);
根據您未設置值的問題,這是因為您沒有循環遍歷行,而是每次訪問單個數組並將其設置為不同的變量。
嘗試這個
$result2= mysqli_query($connect, $query2);
while($row= mysqli_fetch_array($result2))
{
$interest[]= $row['interest'];
}
print_r($interest)//Array of itnerest
我不清楚你要做什么。 但是你在每個IF情況下的代碼重復從mysqli_num_rows($result2)
獲得相同的值,每種情況只有不同的次數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.