【问题标题】:counter in php do while loopphp中的计数器做while循环
【发布时间】:2014-03-23 23:53:34
【问题描述】:

我正在检查(或想要检查)计数器是否达到 5 我想将计数器重置为 1 并重新开始,直到读取所有记录为止,我在测试页面上有以下代码:

<?php do {  
if ($count == 5) { $count = 1;}
echo $count;

echo "<div id=\"col$count\"><div id=\"col$count-content\"><img class=\"resetImg\"    name=\"colpic$count\" src=\"assets/images/student_artwork/thumb_" . $row_rsILU['ilu_artwork'] . "\" alt=\"\" style=\"background-color: #999966\"><br><br><span class=\"artistName\">" . $row_rsILU['ilu_fname'] . " " . $row_rsILU['ilu_lname'] . "</span>    <br><hr>
Concept Artist<br>
email@artistdomain.ca<br>
416-833-1111<br>
www.portfolio.ca<br>
</div></div>"; 
$count++;
} while ($row_rsILU = mysql_fetch_assoc($rsILU));  ?>

记录集中有三个记录,但计数似乎总是停在两个,并且只显示两个图像。我正在检查计数,如果它达到 5,我想将其重置为 1 并重新开始,直到读取记录集中的总记录。也许我只是累了,但我无法得到这个。感谢任何人对此的帮助。

干杯,

戴夫

【问题讨论】:

    标签: counter increment do-while


    【解决方案1】:

    根据您的代码,您试图在实际获取该行之前回显该行(我的意思是第一次迭代)。为什么不直接使用 while 循环呢?

    <?php 
    while ($row_rsILU = mysql_fetch_assoc($rsILU)) {  
        if ($count == 5) { $count = 1;}
        echo $count;
    
        echo "<div id=\"col$count\"><div id=\"col$count-content\"><img class=\"resetImg\"    name=\"colpic$count\" src=\"assets/images/student_artwork/thumb_" . $row_rsILU['ilu_artwork'] . "\" alt=\"\" style=\"background-color: #999966\"><br><br><span class=\"artistName\">" . $row_rsILU['ilu_fname'] . " " . $row_rsILU['ilu_lname'] . "</span>    <br><hr>
        Concept Artist<br>
        email@artistdomain.ca<br>
        416-833-1111<br>
        www.portfolio.ca<br>
        </div></div>"; 
    
        $count++;
    }  
    ?>
    

    如果这能解决您的问题,请告诉我。

    【讨论】:

    • 嗯,我把代码改成下面这样,现在我只得到一个迭代和一个记录??
    【解决方案2】:

    嗯...好吧,这很尴尬!结果发现,我错过了代码中第二个较旧的 SELECT 语句,因此它没有返回三个记录之一,因为它没有根据较旧的 SELECT 语句查找它。对此感到抱歉,但感谢您的帮助。

    【讨论】:

      猜你喜欢
      • 2016-04-02
      • 2015-09-13
      • 2017-06-08
      • 2016-11-27
      • 1970-01-01
      • 2015-01-04
      • 2020-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多