首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP mysql_fetch_array

PHP mysql_fetch_array
EN

Stack Overflow用户
提问于 2010-04-07 13:03:32
回答 3查看 831关注 0票数 0
代码语言:javascript
复制
    $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

roomname 107的行丢失....任何人请告诉我在重新进入循环时有什么问题……

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-07 13:07:54

$i变为6时,您将获取一行,但不执行任何操作。因为读取发生在$i<=5检查之前,所以会跳过读取的行。

更改while循环中条件的顺序。

代码语言:javascript
复制
while(($row=mysql_fetch_array($rs))&&$i<=5)

代码语言:javascript
复制
while($i<=5 && ($row=mysql_fetch_array($rs)))
票数 2
EN

Stack Overflow用户

发布于 2010-04-07 13:23:38

为了跟上我的评论,这整段代码本可以写得更清楚,如下所示。(假设您打算在每5个记录之后添加一个<br>,现在您在6个记录之后执行此操作,但我认为这可能是一个错误)

代码语言:javascript
复制
$rownum = 1;
while ($row = mysql_fetch_array($rs))
{
    echo $row['room_name'];

    if ($rownum % 5 == 0)
        echo '<br>';
    $rownum++;
}
票数 2
EN

Stack Overflow用户

发布于 2010-04-07 13:12:47

这里如果我们检查$i<=5条件,所以从0开始数组统计,所以你的数据库值是从101,102,..106开始的,所以它是6个元素。

$i<=5条件删除中的此条件,同时保留条件if($i%5==0) echo“

";它会起作用的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2590145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档