php分页实现跳转
PHP 分页实现跳转
数据库查询与分页逻辑
使用 LIMIT 子句控制每页显示的数据量,结合 $_GET 获取当前页码。假设每页显示 10 条数据:
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$perPage = 10;
$offset = ($page - 1) * $perPage;
$sql = "SELECT * FROM articles LIMIT $offset, $perPage";
$result = $conn->query($sql);
计算总页数
通过数据库查询获取总记录数,并计算总页数:

$totalSql = "SELECT COUNT(*) as total FROM articles";
$totalResult = $conn->query($totalSql);
$totalRows = $totalResult->fetch_assoc()['total'];
$totalPages = ceil($totalRows / $perPage);
生成分页链接
通过循环生成页码链接,并添加当前页高亮样式:
echo '<div class="pagination">';
for ($i = 1; $i <= $totalPages; $i++) {
$active = $i == $page ? 'active' : '';
echo "<a href='?page=$i' class='$active'>$i</a>";
}
echo '</div>';
添加样式(CSS)
为分页链接添加基础样式:

.pagination a {
padding: 8px 16px;
border: 1px solid #ddd;
margin: 0 4px;
}
.pagination a.active {
background-color: #4CAF50;
color: white;
}
优化跳转功能
添加首页/末页跳转按钮,并限制页码范围:
if ($page > 1) {
echo "<a href='?page=1'>首页</a>";
echo "<a href='?page=".($page-1)."'>上一页</a>";
}
if ($page < $totalPages) {
echo "<a href='?page=".($page+1)."'>下一页</a>";
echo "<a href='?page=$totalPages'>末页</a>";
}
安全性处理
对页码参数进行过滤,防止 SQL 注入和无效输入:
$page = max(1, min($totalPages, $page)); // 限制页码范围






