当前位置:首页 > PHP

php 分页怎么实现

2026-04-03 06:54:18PHP

PHP 分页实现方法

数据库查询与分页逻辑

分页的核心是通过 SQL 的 LIMIT 子句实现数据分段查询。假设每页显示 10 条数据,当前页码为 $page

$itemsPerPage = 10;
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$offset = ($page - 1) * $itemsPerPage;

$sql = "SELECT * FROM articles LIMIT $offset, $itemsPerPage";
$result = $pdo->query($sql);

计算总页数

需要先查询总记录数以确定分页数量:

$totalItems = $pdo->query("SELECT COUNT(*) FROM articles")->fetchColumn();
$totalPages = ceil($totalItems / $itemsPerPage);

生成分页导航

输出分页链接时需处理边界情况(如第一页/最后一页):

echo '<div class="pagination">';
if ($page > 1) {
    echo '<a href="?page='.($page - 1).'">上一页</a>';
}
for ($i = 1; $i <= $totalPages; $i++) {
    echo '<a href="?page='.$i.'"'.($i == $page ? ' class="active"' : '').'>'.$i.'</a>';
}
if ($page < $totalPages) {
    echo '<a href="?page='.($page + 1).'">下一页</a>';
}
echo '</div>';

使用预处理语句(安全增强)

为防止 SQL 注入,建议使用预处理语句:

$stmt = $pdo->prepare("SELECT * FROM articles LIMIT :offset, :limit");
$stmt->bindValue(':offset', $offset, PDO::PARAM_INT);
$stmt->bindValue(':limit', $itemsPerPage, PDO::PARAM_INT);
$stmt->execute();

分页样式优化

通过 CSS 美化分页导航,例如:

.pagination a {
    padding: 8px 16px;
    border: 1px solid #ddd;
    margin: 0 4px;
}
.pagination a.active {
    background-color: #4CAF50;
    color: white;
}

扩展方案:封装分页类

对于复杂项目,可封装可复用的分页类:

php 分页怎么实现

class Paginator {
    private $totalItems;
    private $itemsPerPage;

    public function __construct($totalItems, $itemsPerPage) {
        $this->totalItems = $totalItems;
        $this->itemsPerPage = $itemsPerPage;
    }

    public function getTotalPages() {
        return ceil($this->totalItems / $this->itemsPerPage);
    }

    public function getOffset($currentPage) {
        return ($currentPage - 1) * $this->itemsPerPage;
    }
}

标签: 分页php
分享给朋友:

相关文章

vue分页实现

vue分页实现

Vue 分页实现方法 基础分页组件实现 创建一个简单的分页组件,包含上一页、下一页和页码按钮。组件接收当前页码、总页数等参数,通过事件通知父组件页码变化。 <template> &l…

php 实现购物车

php 实现购物车

PHP 实现购物车功能 购物车功能是电子商务网站的核心部分,可以通过 PHP 和 Session 或数据库来实现。以下是两种常见的实现方式: 使用 Session 存储购物车数据 Sessi…

php 实现验证码

php 实现验证码

使用 PHP 生成验证码 验证码(CAPTCHA)用于防止自动化脚本提交表单,以下是几种常见的 PHP 实现方法。 使用 GD 库生成图片验证码 GD 库是 PHP 的图像处理扩展,可用于生成验证码…

php实现聊天

php实现聊天

实现 PHP 聊天功能的方法 使用 WebSocket 和 PHP 实现实时聊天 WebSocket 是一种全双工通信协议,适合实现实时聊天功能。PHP 可以通过 Ratchet 库实现 WebSo…

php队列的实现

php队列的实现

PHP队列的实现方式 PHP中实现队列功能可以通过多种方式,根据需求选择适合的方案: 使用数组实现基础队列 PHP数组本身支持队列操作,利用array_push和array_shift函数: $q…

php 实现排序

php 实现排序

PHP 实现数组排序的方法 PHP 提供了多种内置函数和方法来实现数组排序,适用于不同的排序需求。以下是一些常见的排序实现方式: 使用 sort() 函数对数组进行升序排序 sort() 函数对数组…