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

生成分页链接

php  实现分页

创建分页导航 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);

添加上一页/下一页

php  实现分页

增强导航体验:

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 搜索功能实现方法 数据库搜索实现 使用 SQL 的 LIKE 语句进行模糊匹配,适用于小型网站和简单搜索需求。 $searchTerm = $_GET['search']; $query =…

php 实现单链表

php 实现单链表

单链表的基本概念 单链表是一种线性数据结构,由节点组成,每个节点包含数据域和指向下一个节点的指针域。链表的头节点是访问整个链表的入口。 单链表的节点类实现 在PHP中,可以通过类来定义链表节点。每个…

php实现注册登录

php实现注册登录

PHP 注册功能实现 创建数据库表(以 MySQL 为例) CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, usern…

php 实现面包屑导航

php 实现面包屑导航

实现面包屑导航的方法 面包屑导航(Breadcrumb Navigation)是一种常见的网站导航方式,用于显示用户当前页面的路径。以下是几种在 PHP 中实现面包屑导航的方法。 基于 URL 路径…

jquery分页

jquery分页

jQuery分页的实现方法 jQuery分页可以通过多种方式实现,以下是几种常见的方法: 使用插件实现分页 jQuery有许多优秀的分页插件,如jQuery Pagination、DataTabl…

php session实现购物车

php session实现购物车

PHP Session 实现购物车 初始化 Session 确保在使用 Session 前调用 session_start() 函数。通常放在 PHP 文件的最顶部。 <?php sessio…