所以我在这个页面上使用分页。没问题,但我想显示行号。我每页显示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 ?>
您的查询需要LIMIT
SELECT value FROM pskills ORDER BY value DESC LIMIT $startIndex , $perPage
您需要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个
希望这个查询能帮助您
当您更改页面时,可能会重新开始您需要此查询
($db->query("SELECT value FROM pskills where value > '.(pageno * 25).' ORDER BY value asc limit 25")
其中pageno从0开始,因此为1。作为它将做什么
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。