本文介绍一种不依赖连续 id 的 mysql 双向分页方案:通过记录边界 id 并结合 `array_reverse()` 实现稳定、高效、容错的上一页/下一页导航,完美解决因数据删除导致 id 不连续带来的翻页错乱问题。
在基于 ID 的分页实践中,常见的“游标分页”(Cursor-based Pagination)通常采用 WHERE id 上一页却容易陷入误区:若简单使用 WHERE id 当前页起始 ID 为下界进行反向查询。
✅ 正确思路是:
以下是完整 PHP + MySQL 实现示例(含关键注释):
prepare("SELECT * FROM table_name WHERE id > ? LIMIT ?");
$stmt->execute([$_GET['prev'], $limit]);
$results = array_reverse($stmt->fetchAll(PDO::FETCH_ASSOC));
} elseif ($isNext) {
// 下一页:查比 $last_id 更小的 21 条(降序)
$stmt = $db->prepare("SELECT * FROM table_name WHERE id < ? ORDER BY id DESC LIMIT ?");
$stmt->execute([$_GET['next'], $limit]);
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
} else {
// 首页:取最大的 21 条
$stmt = $db->prepare("SELECT * FROM table_name ORDER BY id DESC LIMIT ?");
$stmt->execute([$limit]);
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
// 渲染数据(假设按 id 降序展示)
foreach ($results as $row) {
echo "ID: {$row['id']} | {$row['title']}";
}
// 生成分页按钮(关键:传递正确的边界 ID)
$firstId = !empty($results) ? $resu
lts[0]['id'] : null;
$lastId = !empty($results) ? end($results)['id'] : null;
// 上一页按钮:传当前页第一条记录的 ID(即上一页的「最小 ID」应 > 它)
if ($firstId !== null) {
echo '← 上一页';
}
// 下一页按钮:传当前页最后一条记录的 ID(即下一页的「最大 ID」应 < 它)
if ($lastId !== null && count($results) === $limit) {
echo '下一页 →';
}
?>⚠️ 重要注意事项:
该方案彻底摆脱对 ID 连续性的依赖,即使中间大量删除数据,翻页依然精准、响应迅速,是高并发、大数据量场景下的推荐实践。
# mysql
# php
# 前端
# 大数据
# 并发
# 上一页
# 下一页
# 分页
# 升序
# 当前页
# 更大
# 降序
# 翻页
# 不连续
# 使其
相关文章:
如何有效防御Web建站篡改攻击?
宝塔面板如何快速创建新站点?
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
如何在腾讯云服务器上快速搭建个人网站?
如何用PHP快速搭建CMS系统?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
如何快速登录WAP自助建站平台?
如何在局域网内绑定自建网站域名?
如何选择服务器才能高效搭建专属网站?
临沂网站制作企业,临沂第三中学官方网站?
Java解压缩zip - 解压缩多个文件或文件夹实例
,怎么用自己头像做动态表情包?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
如何快速搭建高效WAP手机网站?
如何规划企业建站流程的关键步骤?
油猴 教程,油猴搜脚本为什么会网页无法显示?
微信小程序 input输入框控件详解及实例(多种示例)
Swift中swift中的switch 语句
电脑免费海报制作网站推荐,招聘海报哪个网站多?
制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?
建站主机是否等同于虚拟主机?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
建站主机系统SEO优化与智能配置核心关键词操作指南
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
香港服务器建站指南:免备案优势与SEO优化技巧全解析
制作电商网页,电商供应链怎么做?
如何在阿里云虚拟主机上快速搭建个人网站?
如何在万网自助建站平台快速创建网站?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
如何用PHP工具快速搭建高效网站?
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
英语简历制作免费网站推荐,如何将简历翻译成英文?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
如何用y主机助手快速搭建网站?
相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?
建站之星伪静态规则如何设置?
,sp开头的版面叫什么?
如何用好域名打造高点击率的自主建站?
seo网站制作优化,网站SEO优化步骤有哪些?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站
如何高效生成建站之星成品网站源码?
建站主机服务器选购指南:轻量应用与VPS配置解析
如何基于云服务器快速搭建网站及云盘系统?
如何快速搭建响应式可视化网站?
Python多线程使用规范_线程安全解析【教程】
*请认真填写需求信息,我们会在24小时内与您取得联系。