0

我有一个网站,用户可以在其中输入/输入最多 5 个兴趣。现在,我想在表单字段中向用户显示用户的兴趣。这使他们能够直接编辑它们。

首先我要做的是在我的兴趣表中查询与用户相关的数据行。然后,我使用 mysqli_num_rows 来确定我必须创建的变量。然后,我手动循环遍历数组以创建每个变量。

但是有一个问题,它没有循环到下一行数据。因此,例如$interest1will equal $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'];
        }

    }
4

3 回答 3

1

您可能希望循环遍历此内容(如您所说),而且要将结果存储在数组中,因为您已经(基本上)使用数组格式将其存储在单独的变量中:

$result2 = mysqli_query($connect, $query2);
$interests = array();
while ($result = mysqli_fetch_array($result2)) {
    $interests[] = $result['interest'];
}
print_r($interests);

根据您未设置值的问题,这是因为您没有遍历行,而是每次访问单个数组并将其设置为不同的变量。

于 2012-09-17T05:30:47.460 回答
1

尝试这个

   $result2= mysqli_query($connect, $query2);
       while($row= mysqli_fetch_array($result2))
      {
        $interest[]= $row['interest'];

      }

print_r($interest)//Array of itnerest
于 2012-09-17T05:32:13.827 回答
0

我不清楚你想做什么。但是您在每个 IF 案例中的代码重复地从 中获取相同的值mysqli_num_rows($result2),只是每种案例的次数不同。

于 2012-09-17T05:30:27.680 回答