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