gpt4 book ai didi

php - 我可以计数并运行分页,但第二页后没有显示数据?

转载 作者:行者123 更新时间:2023-11-30 01:32:37 26 4
gpt4 key购买 nike

Mysql/php

我可以让分页工作。但在第二页上只列出了三个结果。其余页面没有显示结果。我做错了什么?

//$result=mysql_query("select count(*) from users WHERE level > 14");

$result=mysql_query("select count(*) from users WHERE level > 14 ORDER BY uid ASC LIMIT 200");
//$result=mysql_query("SELECT *, COUNT(level) FROM users GROUP by level AND NOT COUNT(*) < 15");


$row=mysql_fetch_row($result);
$tr=$row[0];
$rpp=10;

$pn=1;
echo mysql_result($result, 0);
if(isset($_GET['pn']))
{
$pn=$_GET['pn'];
}
$tp=($tr/$rpp);

if($tr%$rpp>0)
{
$tp++;
}
$from=(($pn-1)*$rpp)+1;
$to=($pn)*($rpp);
//$result=mysql_query("select * from users where uid between $from and $to HAVING level > 14 ");

$result=mysql_query("select * from users where (uid between $from and $to) AND level > 14 ORDER BY uid ASC LIMIT 200");
//$result=mysql_query("select * from users WHERE (uid between $from and $to) AND NOT level < 14");
while($row=mysql_fetch_row($result))

最佳答案

您确定要创建基于 uid 而不是使用 LIMIT 的分页吗?因为如果删除任何表行并且您的 uid 列是基于 AUTOINCRMENT 的 - 您将在某些页面上得到错误数量的结果。

//first page
SELECT * FROM users WHERE level > 14 ORDER BY uid ASC LIMIT 0, {$results_per_page};
//any page including first
SELECT * FROM users WHERE level > 14 ORDER BY uid ASC LIMIT {$page_number_multiplied_by_results_per_page}, {$results_per_page};

请注意,如果您想使用此方法,页码应从 0 开始。

关于php - 我可以计数并运行分页,但第二页后没有显示数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17285825/

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