自动为结果编号

时间:2016-02-24 19:01:45

标签: php

我有这个php函数:

function GetByVotes(){
 $db = new Database;
 $db->query('SELECT posts.* FROM posts 
                      ORDER BY like_num DESC
                      LIMIT 10');
    $results = $db->resultset();
    return $results;
}

这个HTML:

<?php foreach(getByVotes() as $votes) :?>
        <div class="cerculet1">i</div><div class="celesMai"><a href="#" class="dece"><?php echo $votes->title;?></a></div>
     <?php endforeach;?>

Probem:

现在结果限制为10,如何从i div动态生成.cerculet1

示例:

  • 1第一个结果
  • 2为第二个 ... 等
  • 10为第十

.cerculet1与数据库无关,它只是一个应该增加的数字,作为结果增量的数量(从1-10);

3 个答案:

答案 0 :(得分:2)

没有人会为你增加$i,所以你必须自己做:

$i = 1;
foreach(getByVotes() as $votes) :?>
    <div class="cerculet1"><?=$i?></div><div class="celesMai"><a href="#" class="dece"><?php echo $votes->title;?></a></div>
<?php
     $i++;
endforeach;?>

答案 1 :(得分:2)

查询结果存储在一个数组中,其中键从0开始,每行递增。您只需将+1添加到该键即可显示。

<?php foreach(getByVotes() as $k=>$votes) :?>
    <div class="cerculet1"><?= $k+1 ?></div>
    <div class="celesMai"><a href="#" class="dece"><?php echo $votes->title;?></a></div>
<?php endforeach;?>

答案 2 :(得分:0)

如果你的查询是非关联的,你可以试试这个,我认为这是mysql的默认行为。

<?php foreach(getByVotes() as $key => $votes) :?>
    <div class="cerculet1"><?php echo $key;?></div><div class="celesMai"><a href="#" class="dece"><?php echo $votes->title;?></a></div>
 <?php endforeach;?>