分页是Web开发中常用的功能之一,可以将大量数据分成若干个页面展示,方便用户查看。下面介绍使用PHP实现分页功能的步骤:
通过GET或POST方式获取当前页码,如果没有传递页码,则默认为第一页。
<?php
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
?>
根据总记录数和每页显示的记录数计算总页数。
<?php
$total = 100; // 总记录数
$pageSize = 10; // 每页显示的记录数
$totalPage = ceil($total / $pageSize); // 总页数
?>
根据当前页码和每页显示的记录数获取当前页的数据。
<?php
$start = ($page - 1) * $pageSize; // 当前页数据的起始位置
// 查询当前页的数据
$sql = "SELECT * FROM table LIMIT $start, $pageSize";
// 执行SQL语句,获取当前页的数据
?>
根据总页数和当前页码生成分页导航,让用户可以快速切换页面。
<?php
// 分页导航
$nav = '';
for ($i=1; $i<=$totalPage; $i++) {
if ($i == $page) {
$nav .= "<span class='current'>$i</span>";
} else {
$nav .= "<a href='?page=$i'>$i</a>";
}
}
?>
完整代码:
<?php
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$total = 100;
$pageSize = 10;
$totalPage = ceil($total / $pageSize);
$start = ($page - 1) * $pageSize;
$sql = "SELECT * FROM table LIMIT $start, $pageSize";
// 执行SQL语句,获取当前页的数据
// ...
$nav = '';
for ($i=1; $i<=$totalPage; $i++) {
if ($i == $page) {
$nav .= "<span class='current'>$i</span>";
} else {
$nav .= "<a href='?page=$i'>$i</a>";
}
}
?>