PHP while():三次后如何停止?

时间:2012-07-20 01:22:32

标签: php while-loop

我正在尝试创建一个PHP照片库(是的,我尝试过其他解决方案,没有使用我想要的设置)并且我试图让这个while循环停止三次,因为我想在每个表格行中显示三个缩略图。这是我目前的代码:

<table>
<tr>
<?php while($row2 = mysql_fetch_assoc($result)) { echo "
<td><a href='URL/".$row2['file']."'><img src='URL/".$row2['file']."' width='200' height='106' /></a></td>
"; } ?>
</tr>
</table>

我不记得有关停止PHP循环的任何知识,所以请帮忙!非常感谢。

5 个答案:

答案 0 :(得分:4)

所以你真正想要的是每行3张图片。我认为这会奏效:

<table>
  <?php 
    $i = 0;
    while($row2 = mysql_fetch_assoc($result)) { 
      if($i%3==0)
        echo "<tr>"; 
      echo "<td><a href='URL/".$row2['file']."'><img src='URL/".$row2['file']."' width='200' height='106' /></a></td>";
      if($i%3==2)
        echo "</tr>";
      $i++;
    }
    if($i%3!=0)
      echo "</tr>";
  ?>
</table>

答案 1 :(得分:1)

<table>
<tr>
<?php 
$i=1;
while($row2 = mysql_fetch_assoc($result)) { echo "
<td><a href='URL/".$row2['file']."'><img src='URL/".$row2['file']."' width='200' height='106' /></a></td>
"; 
if($i>=3) break;
$i++;

} ?>
</tr>
</table>

答案 2 :(得分:0)

尝试在while中添加AND并与计数器进行比较 while($ row2 = mysql_fetch_assoc($ result)&amp;&amp; $ i&lt; 3)

在循环

之前将$ i设置为0

答案 3 :(得分:0)

为什么不限制原始MySQL查询中返回的结果?您可以像这样添加查询限制:

limit 3

那样$ result只会有三行,所以不需要额外的PHP和内存中数据库中的数据少

答案 4 :(得分:-1)

您可以添加一个计数器,例如:

$nr = 1;
while($row2 = mysql_fetch_assoc($result)) { 
if ($nr < 4) {
do your thing;
}
$nr++;
}