繁体   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