分页显示行号不断

时间:2013-11-22 09:23:28

标签: php

所以我有这个页面,我使用分页。没问题,但我想显示行号。我每页显示25条记录。您知道第1页,第1-25页,第2页,第26-50页等。但是,使用这段代码,当您更改页面时,它会重新开始。有小费吗?

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


<? $i = 1; foreach($db->query("SELECT value FROM pskills ORDER BY value DESC") as $row): ?>
#<?=$i?>. <?=$row['value']?>

<? $i++; endforeach ?>

3 个答案:

答案 0 :(得分:0)

您的查询需要LIMIT

SELECT value FROM pskills ORDER BY value DESC LIMIT $startIndex , $perPage

答案 1 :(得分:0)

你需要LIMIT和OFFSET

如果你有一页25记录

这是第1页的查询

SELECT value FROM pskills ORDER BY value DESC LIMIT 25 OFFSET 0

这是第2页的查询

SELECT value FROM pskills ORDER BY value DESC LIMIT 25 OFFSET 25

这是第3页的查询

SELECT value FROM pskills ORDER BY value DESC LIMIT 25 OFFSET 50

等等......每页添加25个

希望此查询可以帮助您

答案 2 :(得分:0)

当您更改需要此查询的页面时,它可能会重新开始

 ($db->query("SELECT value FROM pskills where value > '.(pageno * 25).' ORDER BY value asc limit 25")

其中pageno从0开始,因此一个。它会做什么

 1st page =====  value > (0*25)  result will be 1 to 25
 2nd page =====  value > (1*25)  result will be 25 to 50
 3rd page =====  value > (2*25)  result will be 50 to 75

我不是因为你使用desc的命令?你想要1 - 25的结果那么它应该是asc。