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

防止无效页码

添加对页码的验证:

php怎么实现分页

$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) 使用Element UI分页组件 安装Element UI库后,可以直接使用其分页组件。在模板中添加el-pagination,通过v-model绑定当前页码,设置page-s…

php实现定时任务

php实现定时任务

PHP 实现定时任务的几种方法 在 PHP 中实现定时任务可以通过多种方式完成,具体选择取决于项目需求和服务器环境。以下是常见的实现方法: 使用 Cron 任务 Cron 是 Linux 系统中常用…

php验证码的实现

php验证码的实现

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

基于php的设计与实现

基于php的设计与实现

PHP 设计与实现的关键要素 环境搭建与框架选择 PHP开发需配置服务器环境(如Apache/Nginx)、PHP版本(建议7.4+)及数据库(MySQL/MariaDB)。主流框架包括Laravel…

php无法实现

php无法实现

PHP 是一种功能强大的服务器端脚本语言,能够实现多种功能,包括动态网页开发、数据库交互、文件操作等。如果遇到“无法实现”的问题,通常是由于以下原因之一: 环境配置问题 确保 PHP 环境正确安装和…

vue怎样实现分页

vue怎样实现分页

Vue实现分页的方法 使用第三方库(如Element UI或Ant Design Vue) Element UI的Pagination组件可以直接集成到Vue项目中。安装Element UI后,在组件…