我如何执行一个特定次数的PHP循环?

时间:2015-05-31 22:26:24

标签: php mysql twitter-bootstrap

即时通讯使用bootstrap,我的主索引页面是在php中,我一直在尝试动态显示数据库中的数据,但我只想显示数据库表中的5行。

      echo '<ul class="sort" id="rank_ul">';
      $res = mysql_query("SELECT * FROM IFC  ORDER BY votes DESC");

        while($row=mysql_fetch_assoc($res))
                 {?>
           <li id="li<?php echo $row['id']?>">
                <div class="tut-img">
            <img src="<?php echo $row['img']?>" width="50" height="70" alt="<?php echo $row['title']?>" />
              <div class="drag-label"></div>
                  </div>
     <div class="title">
   <a href="<?php echo $row['url']?>" target="_blank" title=""><?php echo $row['title']?></a>
                                            </div>
                                             </li>
                                                   <?php }?>
                                        </ul>
基本上我的代码创建了与我的数据中的行一样多的列表项,但我想让它停止在特定次数创建列表项,我遇到的问题是我想保留它降序并从while循环切换到for循环或do-while没有创建列表项。

3 个答案:

答案 0 :(得分:1)

最简单(也是最好)的方法是在查询中添加LIMIT子句,如下所示:

$res = mysql_query("SELECT * FROM IFC ORDER BY votes DESC LIMIT 5");

作为旁注,我强烈建议使用PDOMySQLi而不是旧的,不推荐使用的MySQL扩展。

答案 1 :(得分:0)

当然,您可以在PHP代码中解决问题,但最简单的方法是仅从您实际需要的数据库中获取条目

使用MySQL的LIMIT子句,您可以指定要选择的行数:

SELECT * FROM IFC  ORDER BY votes DESC LIMIT 50

在这种情况下,您的代码只会选择50行并进行回显。

在辅助节点上,请注意the mysql PHP extension is deprecated since PHP 5.5.x。请改用mysqliPDO

答案 2 :(得分:0)

在SQL查询上附加LIMIT 5.