所以我想在每条记录之前显示行号(排名)。 现在,下面的代码在第一页上显示正确。 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 ?>
答案 0 :(得分:1)
您的$i
计算错误。您已在偏移计算中使用$perPage
。为什么要再次使用它?
$i = (($perPage * $offset) +1);
应该是
$i = $offset + 1;
<强> Demonstration for fun 强>