当前位置:首页 > 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
分享给朋友:

相关文章

vue搜索过后实现分页

vue搜索过后实现分页

实现 Vue 搜索后分页的方法 数据绑定与搜索逻辑 在 Vue 组件中定义数据属性,包括原始数据列表、搜索关键词、分页相关参数: data() { return { originalLi…

php实现表单

php实现表单

PHP 表单基础实现 创建一个简单的 PHP 表单需要 HTML 表单结构和 PHP 处理脚本。以下是一个完整的示例: HTML 表单部分 (form.html) <form action=…

php实现排序

php实现排序

PHP 数组排序方法 PHP 提供了多种内置函数用于数组排序,适用于不同的排序需求。以下是常见的排序方法: 按值升序排序 sort() 函数对数组按值升序排序,重置键名(索引数组适用): $num…

php实现聊天

php实现聊天

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

php 实现排序

php 实现排序

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

php 实现下载

php 实现下载

PHP 实现文件下载的方法 使用 PHP 实现文件下载可以通过设置 HTTP 头信息,强制浏览器将文件作为附件下载而非直接打开。 基本下载实现 $file_path = 'path/to/your/…