我有一个网站,用户可以输入/输入最多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'];
}
}
答案 0 :(得分:1)
你想要循环这个(如你所说),但也要将结果存储在一个数组中,因为你已经(基本上)使用数组格式将它存储在单独的变量中:
$result2 = mysqli_query($connect, $query2);
$interests = array();
while ($result = mysqli_fetch_array($result2)) {
$interests[] = $result['interest'];
}
print_r($interests);
根据您未设置值的问题,这是因为您没有循环遍历行,而是每次访问单个数组并将其设置为不同的变量。
答案 1 :(得分:1)
试试这个
$result2= mysqli_query($connect, $query2);
while($row= mysqli_fetch_array($result2))
{
$interest[]= $row['interest'];
}
print_r($interest)//Array of itnerest
答案 2 :(得分:0)
我不清楚你要做什么。
但是,每个IF案例中的代码重复从mysqli_num_rows($result2)
获得相同的值,每个案例只有不同的次数。