$n=mysql_num_rows($rs);
$i=0;
while($n>0)
{
while(($row=mysql_fetch_array($rs))&&$i<=5)
{
echo $row['room_name'];
$i=$i+1;
//echo $n."<br>";
}
echo "<br>";
//echo "n1=".$n;
$n=$n-5;
//
$i=0;
}
Output:101102103104105106
108109110
房间名称107的行丢失了.... 任何人请再次重新进入循环时告诉我有什么问题...
答案 0 :(得分:2)
当$i
变为6
时,您会获取一行但不执行任何操作。因为在$i<=5
检查之前发生了提取,所以跳过了提取的行。
更改while
循环中的条件顺序。
while(($row=mysql_fetch_array($rs))&&$i<=5)
要
while($i<=5 && ($row=mysql_fetch_array($rs)))
答案 1 :(得分:2)
为了跟进我的评论,这整段代码可以更清楚地写成如下。 (假设你打算在每5条记录之后输入一个<br>
,现在你在6之后就做了,但我认为这可能是一个错误)
$rownum = 1;
while ($row = mysql_fetch_array($rs))
{
echo $row['room_name'];
if ($rownum % 5 == 0)
echo '<br>';
$rownum++;
}
答案 2 :(得分:0)
这里如果正在检查$ i&lt; = 5条件,那么数组统计数据从0开始,所以你的数据库值统计数据来自101,102,... 106,所以它将是6个元素。
$ i&lt; = 5条件在保持条件的同时删除此条件if($ i%5 == 0)echo“
”;它会起作用