显示行号

时间:2013-11-22 11:46:54

标签: php pagination

所以我想在每条记录之前显示行号(排名)。 现在,下面的代码在第一页上显示正确。 1到25,然后我去第二页然后在行号之前添加6。应该是26到50,但它是626到650.如果数字6不在那里将是正确的。所以它继续,在第3页1251到1275(应该是51到75)。这里有什么不对?

$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$perPage = 25;
$offset = ($page - 1) * $perPage;

$query "SELECT name, exp FROM people ORDER BY exp DESC LIMIT $offset, $perPage";


<? $i = (($perPage * $offset) +1); foreach($db->query($query) as $row): ?>
Ranking: <?=$i?>
Name: <?=$row['name']?>

<? $i++; endforeach ?>

1 个答案:

答案 0 :(得分:1)

您的$i计算错误。您已在偏移计算中使用$perPage。为什么要再次使用它?

$i = (($perPage * $offset) +1);

应该是

$i = $offset + 1;

<强> Demonstration for fun