分页器通过PHP计算页码与偏移量实现翻页。根据每页10条数据,偏移量=(当前页-1)×每页数量,使用LIMIT跳过已显示数据。通过$_GET['page']获取页码,验证后计算offset,查询数据库并生成下一页链接,点击时页码加1,实现递增翻页。

要实现一个简单的分页器,核心是通过PHP控制页码的递增和数据的偏移量计算。用户点击“下一页”时,页码加1,然后根据每页显示的数量重新计算从数据库中获取的数据起始位置。
基本原理:页码与偏移量计算
分页的关键在于将大量数据分成若干页显示。假设每页显示10条记录:
- 第1页:从第0条开始(LIMIT 0,10)
- 第2页:从第10条开始(LIMIT 10,10)
- 第3页:从第20条开始(LIMIT 20,10)
可以看出,偏移量 = (当前页码 - 1) × 每页数量。页码递增时,偏移量随之增加,从而实现翻页。
实现步骤:接收页码并递增
通过URL参数传递当前页码(如 ?page=2),PHP脚本读取该值并确保它是合法的正整数,默认为1。
立即学习“PHP免费学习笔记(深入)”;
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1; $page = $page < 1 ? 1 : $page; // 防止负数或0 $per_page = 10; // 每页显示10条 $offset = ($page - 1) * $per_page;
这样,当用户访问 ?page=2 时,程序自动计算出应跳过前10条数据。
查询数据并生成下一页链接
使用计算出的 offset 和 per_page 进行数据库查询:
$sql = "SELECT * FROM articles LIMIT $offset, $per_page"; $result = mysqli_query($connection, $sql);
展示完当前页数据后,可以添加“下一页”链接:
下一页
这个链接会把当前页码加1,实现递增翻页。注意:实际应用中需判断是否还有下一页,避免无效链接。
完整简化示例
一个最简分页结构如下:
// 获取当前页 $page = $_GET['page'] ?? 1; $page = (int)$page < 1 ? 1 : (int)$page;$per_page = 5; $offset = ($page - 1) * $per_page;
// 查询当前页数据 $sql = "SELECT id, title FROM posts LIMIT $offset, $per_page"; $result = mysqli_query($conn, $sql);
// 显示数据 while ($row = mysqli_fetch_assoc($result)) { echo "
{$row['title']}
"; }// 下一页链接 echo '下一页';
基本上就这些。通过控制 page 参数递增,配合 LIMIT 实现简单分页。后续可加入总页数计算、上一页按钮、边界判断等增强体验。











