簡體   English   中英

循環查詢結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM