php实现page
PHP 分页实现方法
基础分页实现
使用 LIMIT 和 OFFSET 实现数据库查询分页
$perPage = 10; // 每页显示数量
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$offset = ($page - 1) * $perPage;
$query = "SELECT * FROM table_name LIMIT $offset, $perPage";
$result = mysqli_query($connection, $query);
计算总页数
获取总记录数并计算总页数

$totalQuery = "SELECT COUNT(*) as total FROM table_name";
$totalResult = mysqli_query($connection, $totalQuery);
$totalRows = mysqli_fetch_assoc($totalResult)['total'];
$totalPages = ceil($totalRows / $perPage);
生成分页链接
创建分页导航HTML
$pagination = '';
for ($i = 1; $i <= $totalPages; $i++) {
$active = ($i == $page) ? 'active' : '';
$pagination .= "<a href='?page=$i' class='$active'>$i</a>";
}
echo $pagination;
使用PDO实现分页
更安全的PDO预处理方式

$stmt = $pdo->prepare("SELECT * FROM table_name LIMIT :offset, :perPage");
$stmt->bindValue(':offset', $offset, PDO::PARAM_INT);
$stmt->bindValue(':perPage', $perPage, PDO::PARAM_INT);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
分页样式优化
添加Bootstrap分页样式
echo '<nav aria-label="Page navigation"><ul class="pagination">';
if ($page > 1) {
echo '<li class="page-item"><a class="page-link" href="?page='.($page-1).'">Previous</a></li>';
}
for ($i = 1; $i <= $totalPages; $i++) {
$active = ($i == $page) ? ' active' : '';
echo '<li class="page-item'.$active.'"><a class="page-link" href="?page='.$i.'">'.$i.'</a></li>';
}
if ($page < $totalPages) {
echo '<li class="page-item"><a class="page-link" href="?page='.($page+1).'">Next</a></li>';
}
echo '</ul></nav>';
性能优化建议
对于大数据量分页,考虑使用游标分页或延迟关联技术
// 游标分页示例(ID必须有序)
$lastId = isset($_GET['last_id']) ? (int)$_GET['last_id'] : 0;
$query = "SELECT * FROM table_name WHERE id > $lastId ORDER BY id LIMIT $perPage";






