当前位置:首页 > 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);

计算总页数

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

php怎么实现分页

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

生成分页链接

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

php怎么实现分页

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
分享给朋友:

相关文章

react 如何分页

react 如何分页

分页实现方法 在React中实现分页功能可以通过多种方式完成,具体取决于数据来源(如API或本地数据)和UI库的选择。以下是常见的实现方法: 使用本地数据分页 对于存储在组件状态或Context中…

php实现队列

php实现队列

PHP实现队列的方法 队列是一种先进先出(FIFO)的数据结构,PHP可以通过多种方式实现队列功能。 使用数组模拟队列 PHP数组可以模拟队列的基本操作,通过array_push和array_shi…

php分页代码简单实现

php分页代码简单实现

基本分页实现 在PHP中实现分页功能通常需要结合MySQL的LIMIT子句。以下是一个基础实现示例: <?php // 数据库连接 $conn = mysqli_connect("localh…

php验证码的实现

php验证码的实现

PHP 验证码实现方法 使用 GD 库生成基础验证码 创建画布并生成随机字符串作为验证码内容: session_start(); $width = 120; $height = 40; $image…

php实现分类

php实现分类

PHP实现分类的方法 数据库设计 创建分类表时,通常需要包含id、名称、父级id等字段。父级id用于实现多级分类结构。 CREATE TABLE categories ( id INT AU…

php实现接口

php实现接口

PHP 实现接口的方法 在 PHP 中,接口(Interface)用于定义一组方法的规范,而不实现具体功能。类可以实现一个或多个接口,并必须实现接口中定义的所有方法。 定义接口 接口使用 inter…