PHP 循环不起作用


PHP loop not working

这是我得到的:

 $pagecount=0;
while($row = $result->fetch_assoc()){
 echo '<div style="background-image:url(images/paper.jpg);">';
    while ($pagecount < 3) {
    while($row = $result->fetch_assoc()){
        echo '<div class="content"><div class="name">'  . $row['victim'] . '</div><div class="cod">'  . $row['cod'] . $pagecount . '</div></div>';
        $pagecount++;
        }
    }
$pagecount=0;
echo '</div>';
}

问题是,当它运行时,它会打印出$victim,$cod然后$pagecount。我从不希望页数高于 3,所以我输入了 while 语句,所以当它达到 3 时,它应该退出循环,然后页数应该回到 0,然后再次开始增加。但是,当它运行时,Pagecount 会越来越高,并且不会达到 3 然后回到 0。谁能帮忙??我的状况或循环有什么问题吗?

同样只是在侧面,谁能告诉我而不是使用第一个$row = $result->fetch_assoc()我可以使用一些东西来检查结果是否为空,因为目前,它将跳过 mysql 数据库中的第一个条目。

干杯伙计们!

编辑:到目前为止测试了每个人的解决方案,他们都为我工作。它只是展示了如何通过许多不同的方法可以做一件事!

谢谢大家,你们都非常非常有帮助。非常感谢。:)我最终要做的是完全从内部循环中删除整个while语句。

但是,由于第一个$row = $result->fetch_assoc()仍然跳过第一个数据库条目。有什么办法吗?

试试这个:

$pagecount=0;
while($row = $result->fetch_assoc()){
    echo '<div style="background-image:url(images/paper.jpg);">';
    while($pagecount < 3 && $row = $result->fetch_assoc()){
       echo '<div class="content"><div class="name">'  . $row['victim'] . '</div><div class="cod">'  . $row['cod'] . $pagecount . '</div></div>';
       $pagecount++;
    }
    $pagecount=0;
    echo '</div>';
}

使用 $row = $result->fetch_assoc() 在循环中使用 $row = $result->fetch_assoc() 会使结果的指针过于前进。我建议您在执行循环之前将所有对象存储在数组中。

while ($pagecount < 3) {
    while($row = $result->fetch_assoc()){
        echo '<div class="content"><div class="name">'  . $row['victim'] . '</div><div class="cod">'  . $row['cod'] . $pagecount . '</div></div>';
        $pagecount++;
        }
    }

只要它能fetch_assoc,你的内心就会一直循环,因为你不检查页数。

将条件移动到内部,同时:

    while($pagecount < 3 && $row = $result->fetch_assoc()){
        echo '<div class="content"><div class="name">'  . $row['victim'] . '</div><div class="cod">'  . $row['cod'] . $pagecount . '</div></div>';
        $pagecount++;
        }
$pagecount++;

应移出内环,即

while($row = $result->fetch_assoc()){
    echo '<div class="content"><div class="name">'  . $row['victim'] . '</div><div     class="cod">'  . $row['cod'] . $pagecount . '</div></div>';
    //moved 1 level: $pagecount++;
    }
$pagecount++;
}

缩进代码可能有助于:)