当前位置:首页 > PHP

php 实现分页

2026-02-28 16:36:06PHP

实现 PHP 分页的基本方法

在 PHP 中实现分页功能通常需要结合数据库查询和前端展示逻辑。以下是常见的实现步骤:

数据库查询部分

通过 SQL 的 LIMIT 子句实现数据分片:

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

$sql = "SELECT * FROM table_name LIMIT {$start}, {$perPage}";
$result = $conn->query($sql);

计算总页数

获取总记录数并计算总页数:

$total = $conn->query("SELECT COUNT(*) FROM table_name")->fetch_row()[0];
$pages = ceil($total / $perPage);

生成分页链接

创建分页导航 HTML:

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

优化分页实现

添加页码限制

避免显示过多页码,限制可见页码数量:

$visiblePages = 5;
$startPage = max(1, $page - floor($visiblePages/2));
$endPage = min($pages, $startPage + $visiblePages - 1);

添加上一页/下一页

增强导航体验:

if ($page > 1) {
    echo "<a href='?page=".($page-1)."'>上一页</a> ";
}

if ($page < $pages) {
    echo "<a href='?page=".($page+1)."'>下一页</a>";
}

使用预处理语句防止 SQL 注入

更安全的数据库查询方式:

$stmt = $conn->prepare("SELECT * FROM table_name LIMIT ?, ?");
$stmt->bind_param("ii", $start, $perPage);
$stmt->execute();
$result = $stmt->get_result();

封装为可重用函数

创建分页类或函数便于多处使用:

function paginate($conn, $table, $page, $perPage) {
    $start = ($page - 1) * $perPage;
    $query = "SELECT * FROM $table LIMIT $start, $perPage";
    $result = $conn->query($query);

    $total = $conn->query("SELECT COUNT(*) FROM $table")->fetch_row()[0];
    $pages = ceil($total / $perPage);

    return [
        'data' => $result->fetch_all(MYSQLI_ASSOC),
        'pages' => $pages,
        'current' => $page
    ];
}

前端展示优化

使用 Bootstrap 等框架美化分页导航:

echo '<nav aria-label="Page navigation">
        <ul class="pagination">';
for ($i = 1; $i <= $pages; $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  实现分页

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

相关文章

php实现文件上传

php实现文件上传

文件上传的基本实现 在PHP中实现文件上传需要使用$_FILES超全局数组处理上传的文件数据。表单必须设置enctype="multipart/form-data"属性,并采用POST方法提交。…

php实现打印功能

php实现打印功能

PHP 实现打印功能的方法 PHP 可以通过多种方式实现打印功能,具体取决于打印的目标(如打印机、PDF、网页等)和需求(如直接打印、生成打印预览等)。以下是几种常见的实现方式: 使用 JavaSc…

php实现递归

php实现递归

递归的基本概念 递归是一种函数调用自身的技术,适用于解决可以分解为相同子问题的问题。在PHP中,递归需要明确的终止条件(基线条件),否则会导致无限循环。 递归实现阶乘 阶乘是经典的递归案例,n! =…

php购物车实现

php购物车实现

PHP购物车实现方法 使用PHP实现购物车功能可以通过多种方式完成,以下是几种常见的实现方法: Session存储购物车数据 利用PHP的$_SESSION超全局变量存储购物车数据是最简单的方法。用…

php验证码的实现

php验证码的实现

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

基于php的设计与实现

基于php的设计与实现

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