while循环内部循环PHP

时间:2018-03-21 05:45:28

标签: php

我试图根据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之间。

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.
    }
}

您可以将提取移到顶部,这样您就不必重置提取的光标。