想象一下我们使用分页来分割并显示这样的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(使用前将#替换为@)