我试图根据for循环中的参数显示while循环。 例如,我的for循环说循环5次,while循环中的数据也应该显示5次。但是,当我测试我的代码时,while循环中的数据只显示一次。我不确定我是否正确进行了迭代。这是我的嵌套循环的片段。
for($i=0; $i<$count; $i++){
echo "COUNT: ".$i."<br>";
while($data=mysqli_fetch_array($res)) {
echo "INSIDE WHILE".$i."<br>";
}
}
所以如果我的$ count = 3,则此代码的输出为
0
INSIDE WHILE0
INSIDE WHILE0
INSIDE WHILE0
INSIDE WHILE0
INSIDE WHILE0
INSIDE WHILE0
INSIDE WHILE0
1
2
我想要的是&#34; INSIDE WHILE&#34;也显示在1和2之间。
答案 0 :(得分:1)
只需在while循环后添加mysqli_data_seek:
for($i=0; $i<$count; $i++){
echo "COUNT: ".$i."<br>";
while($data=mysqli_fetch_array($res)) {
echo "INSIDE WHILE".$i."<br>";
}
mysqli_data_seek($res, 0);
}
答案 1 :(得分:0)
$data=mysqli_fetch_array($res, MYSQLI_ASSOC);
for($i=0; $i<$count; $i++){
echo "COUNT: ".$i."<br>";
foreach ($data as $current_data){
echo "INSIDE WHILE".$i."<br>";
echo $current_data[name]; //name is the field name.
}
}
您可以将提取移到顶部,这样您就不必重置提取的光标。