gpt4 book ai didi

php - php中的排名/编号

转载 作者:行者123 更新时间:2023-12-04 05:50:14 25 4
gpt4 key购买 nike

我试图实现一种方法,在该方法中我创建一个记分板(while 循环)并按某个数字字段(点)对获取的结果进行排序。但我需要实现的是如下

rank----username--point
1st------test-----------3200
2nd-----test2---------1200

等等。我对结果进行分页并限制每页 25 个结果。我用以下方式尝试了一个while循环
while($row = mysql_fetch_array($query) || $i<=$totalnumberofrows ){
echo out the results
$i++
}

它所做的是从 1 到 25 的完美编号,但另一方面,在第 2 页上它再次从 1 到 25 编号。
有什么技巧可以实现我需要实现的目标吗?
即即使分页,从 1 到(总行数)的连续编号也是如此。

最佳答案

您正在寻找的是 MySQL LIMIT 语句。例如,以下查询将返回条目 0-24(因此,数据库中的前 25 个条目):

SELECT * FROM entries ORDER BY `points` LIMIT 0, 25

假设您要获取第二页(接下来的 25 个条目),您可以执行以下操作:
SELECT * FROM entries ORDER BY `points` LIMIT 25, 25

这里要注意的最重要的一点是,第一个参数是它应该开始的行,第二个参数不是最后一行,而是它应该返回的总行数。

要确定起点,只需执行 (($page_number - 1) * 25),假设您的第一页编号为 1。例如,您可以执行以下操作:
<?php
$start = (($page_number - 1) * 25);
$query = "SELECT * FROM entries ORDER BY `points` LIMIT {$start}, 25";
// ... rest of your code goes here ...
?>

关于php - php中的排名/编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10150193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com