当前位置:首页 > PHP

php怎么实现分页

2026-02-13 18:45:23PHP

PHP 实现分页的方法

使用 LIMIT 和 OFFSET 进行数据库查询

分页的核心是通过 SQL 的 LIMITOFFSET 子句限制返回的数据量。假设每页显示 10 条数据,当前页码为 $page

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

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

计算总页数

需要查询总记录数以计算总页数:

$totalSql = "SELECT COUNT(*) as total FROM articles";
$totalResult = $pdo->query($totalSql)->fetch();
$totalPages = ceil($totalResult['total'] / $perPage);

生成分页链接

在页面底部生成分页导航链接:

for ($i = 1; $i <= $totalPages; $i++) {
    echo "<a href='?page=$i'>$i</a> ";
}

使用 Bootstrap 分页组件(可选)

如果需要更美观的分页,可以集成 Bootstrap:

echo '<nav aria-label="Page navigation"><ul class="pagination">';
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>";
}
echo '</ul></nav>';

防止无效页码

添加对页码的验证:

$page = max(1, min($page, $totalPages));

完整示例代码

$perPage = 10;
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;

// 获取总记录数
$totalResult = $pdo->query("SELECT COUNT(*) as total FROM articles")->fetch();
$totalPages = ceil($totalResult['total'] / $perPage);

// 修正页码
$page = max(1, min($page, $totalPages));
$offset = ($page - 1) * $perPage;

// 获取当前页数据
$sql = "SELECT * FROM articles LIMIT $perPage OFFSET $offset";
$articles = $pdo->query($sql)->fetchAll();

// 显示分页导航
echo '<nav aria-label="Page navigation"><ul class="pagination">';
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>";
}
echo '</ul></nav>';

php怎么实现分页

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

相关文章

vue  实现分页

vue 实现分页

实现分页的基本思路 在Vue中实现分页通常需要结合后端API返回的数据和前端的分页组件。分页的核心逻辑包括计算总页数、处理当前页码变化以及触发数据请求。 分页组件示例 使用Element UI的分页…

php实现分页

php实现分页

PHP实现分页的基本方法 使用原生PHP实现分页功能需要结合数据库查询和HTML展示。以下是核心实现步骤: 数据库查询与分页逻辑 // 连接数据库 $conn = new mysqli('lo…

vue实现后台分页

vue实现后台分页

实现后台分页的方法 在Vue中实现后台分页通常需要结合前端和后端逻辑,后端负责处理数据分页,前端负责展示分页数据和交互。以下是具体实现方法: 后端API设计 后端需要提供支持分页的API接口,通常…

vue实现分页功能

vue实现分页功能

Vue 分页功能实现 在 Vue 中实现分页功能通常需要结合后端 API 或前端数据分页逻辑。以下是两种常见的实现方式: 前端分页实现 适用于数据量较小的情况,直接在 Vue 组件中处理分页逻辑…

php实现图片上传

php实现图片上传

实现图片上传的基本步骤 创建HTML表单用于文件上传,表单需设置enctype="multipart/form-data"属性,确保文件数据正确传输。 <form action="uploa…

git php实现

git php实现

Git 与 PHP 的集成实现 使用 PHP 执行 Git 命令 通过 PHP 的 exec()、shell_exec() 或 passthru() 函数可以直接调用 Git 命令,适用于服务器端操作…