mysql - 在分页中查找结果记录的页面

2023-12-22

想象一下我们使用分页来分割并显示这样的mysql结果, 按自动增量 ID 和日期排序:

SELECT name FROM members ORDER BY id DESC, date DESC LIMIT $start, $len

我们使用 php 显示该结果和其下方的页面导航链接。

我们如何找到记录 ID 号 x 位于该结果的哪个页面,以便我们将页码设置为该页面并显示该页面,并且最终用户不需要单击导航并找到它?


首先获取记录总数。

select count(*) as total from members; 

查找记录列表中找到的行成员“x”的编号

select count(*) oneLess from members where id < (select id from members where name='x');

上面的查询返回 x 中的记录编号。即 'x' 是 oneLess+1

现在计算页码。

$asc_page_no =  floor((($oneLess+1)/$total)*$len);
$total_pages = floor($total/$len);
$page_no = $total_pages - $asc_page_no; //reverse the page looking direction

然后计算$start

$start = $page_no * $len;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql - 在分页中查找结果记录的页面 的相关文章

随机推荐