当前位置:首页 > PHP

php实现分页功能

2026-04-02 19:59:28PHP

PHP实现分页功能的方法

基础分页实现

使用LIMITOFFSET实现数据库查询分页,结合URL参数控制页码:

// 获取当前页码,默认为1
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$perPage = 10; // 每页显示数量
$offset = ($page - 1) * $perPage;

// 查询数据
$sql = "SELECT * FROM table_name LIMIT $offset, $perPage";
$result = $conn->query($sql);

// 计算总页数
$total = $conn->query("SELECT COUNT(*) FROM table_name")->fetch_row()[0];
$totalPages = ceil($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">';

if ($page > 1) {
    echo '<li class="page-item"><a class="page-link" href="?page='.($page-1).'">Previous</a></li>';
}

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>';
}

if ($page < $totalPages) {
    echo '<li class="page-item"><a class="page-link" href="?page='.($page+1).'">Next</a></li>';
}

echo '</ul></nav>';

防止无效页码

添加页码验证逻辑:

// 验证页码有效性
if ($page < 1) {
    $page = 1;
} elseif ($page > $totalPages && $totalPages > 0) {
    $page = $totalPages;
}

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

改进数据库查询安全性:

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

封装分页函数

创建可重用的分页函数:

php实现分页功能

function paginate($conn, $table, $perPage = 10) {
    $page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
    $offset = ($page - 1) * $perPage;

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

    $stmt = $conn->prepare("SELECT * FROM $table LIMIT ?, ?");
    $stmt->bind_param("ii", $offset, $perPage);
    $stmt->execute();

    return [
        'data' => $stmt->get_result(),
        'totalPages' => $totalPages,
        'currentPage' => $page
    ];
}

标签: 分页功能
分享给朋友:

相关文章

vue  实现分页

vue 实现分页

实现分页的基本思路 在Vue中实现分页通常需要结合后端API返回的数据和前端的分页组件。分页的核心逻辑包括计算总页数、处理当前页码变化以及触发数据请求。 分页组件示例 使用Element UI的分页…

vue 实现分页

vue 实现分页

分页实现方法 在Vue中实现分页功能,可以通过计算属性和方法结合来实现。以下是一个典型的分页实现方式: 模板部分 <template> <div> <ul…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

vue怎么实现功能

vue怎么实现功能

Vue 是一个渐进式 JavaScript 框架,常用于构建用户界面。以下是一些常见的功能实现方法: 数据绑定 Vue 通过 v-model 实现双向数据绑定,适用于表单输入等场景: <te…

php实现评论功能

php实现评论功能

数据库设计 创建评论表(示例结构): CREATE TABLE `comments` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id`…

vue 实现数据分页

vue 实现数据分页

实现数据分页的基本思路 在Vue中实现数据分页通常需要结合前端分页逻辑和后端API支持。前端分页适合数据量较小的情况,后端分页适合大数据量场景。 前端分页实现 创建一个计算属性来分割当前页数据:…