当前位置:首页 > 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 实现分页功能 使用第三方库(如 Element UI) 安装 Element UI: npm install element-ui 在 main.js 中引入: import Vue fr…

vue 实现单选功能

vue 实现单选功能

实现单选功能的方法 在Vue中实现单选功能可以通过多种方式完成,以下是几种常见的方法: 使用原生HTML单选按钮 通过v-model绑定数据,结合原生<input type="radio"&g…

vue分页实现原理

vue分页实现原理

Vue 分页实现原理 Vue 分页的核心原理是通过计算当前页的数据范围,动态渲染数据列表并控制分页组件的交互。以下是关键实现步骤: 数据分片计算 分页需要根据当前页码和每页条数截取数据。假设原始数据…

vue实现分页请求

vue实现分页请求

Vue 实现分页请求的方法 在 Vue 中实现分页请求通常需要结合前端分页组件和后端 API 的分页逻辑。以下是常见的实现方法: 分页组件与数据绑定 使用 v-pagination 或其他分页组件(…

vue实现切换功能

vue实现切换功能

使用 v-show 实现切换功能 v-show 通过控制 CSS 的 display 属性来切换元素的显示状态,适合频繁切换的场景。性能较好,因为只是简单地切换显示/隐藏,不会重新渲染 DOM。 &…

vue分页怎么实现

vue分页怎么实现

Vue 分页实现方法 使用 Element UI 的分页组件 Element UI 提供了现成的分页组件 el-pagination,适合快速集成。需要先安装 Element UI 库。 &…