当前位置:首页 > PHP

php 实现分页

2026-02-28 11:39:23PHP

PHP 实现分页的方法

使用 MySQL LIMIT 和 OFFSET

分页通常通过 SQL 的 LIMITOFFSET 实现。假设每页显示 10 条记录,当前页码为 $page

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

$sql = "SELECT * FROM your_table LIMIT $perPage OFFSET $offset";
$result = $conn->query($sql);

计算总页数

需要查询总记录数以计算总页数:

$totalQuery = "SELECT COUNT(*) as total FROM your_table";
$totalResult = $conn->query($totalQuery);
$totalRows = $totalResult->fetch_assoc()['total'];
$totalPages = ceil($totalRows / $perPage);

生成分页链接

在页面底部生成分页导航:

php 实现分页

echo '<div class="pagination">';
for ($i = 1; $i <= $totalPages; $i++) {
    echo '<a href="?page=' . $i . '">' . $i . '</a> ';
}
echo '</div>';

使用 Bootstrap 分页样式

如果需要更美观的分页,可以结合 Bootstrap:

echo '<nav aria-label="Page navigation">';
echo '<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>';
echo '</nav>';

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

为确保安全性,建议使用预处理语句:

php 实现分页

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

封装为函数

可以将分页逻辑封装为函数以便复用:

function getPaginatedData($conn, $table, $perPage = 10, $page = 1) {
    $offset = ($page - 1) * $perPage;
    $stmt = $conn->prepare("SELECT * FROM $table LIMIT ? OFFSET ?");
    $stmt->bind_param("ii", $perPage, $offset);
    $stmt->execute();
    return $stmt->get_result();
}

使用第三方库

对于复杂项目,可以考虑使用分页库如 illuminate/pagination(Laravel 组件):

use Illuminate\Pagination\Paginator;

$perPage = 10;
$currentPage = $_GET['page'] ?? 1;
$items = [...]; // 你的数据数组

$paginator = new Paginator($items, $perPage, $currentPage);
foreach ($paginator as $item) {
    // 显示每项内容
}
echo $paginator->links(); // 显示分页链接

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

相关文章

php实现打印功能

php实现打印功能

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

php实现栈

php实现栈

栈的基本概念 栈(Stack)是一种遵循后进先出(LIFO)原则的数据结构。核心操作包括: push:元素入栈。 pop:元素出栈(返回并移除栈顶元素)。 peek:查看栈顶元素…

php分页代码简单实现

php分页代码简单实现

基本分页实现 在PHP中实现分页功能通常需要结合MySQL的LIMIT子句。以下是一个基础实现示例: <?php // 数据库连接 $conn = mysqli_connect("local…

php实现登录

php实现登录

PHP 登录功能实现 数据库连接与用户表创建 创建一个数据库连接文件 db.php,用于管理数据库连接。MySQL 示例代码如下: <?php $host = 'localhost'; $d…

php 购物车实现

php 购物车实现

数据库设计 购物车功能通常需要设计数据库表存储商品和用户信息。常见的表包括products(商品表)、users(用户表)和cart(购物车表)。cart表通常包含字段:id(主键)、user_id(…

php验证码的实现

php验证码的实现

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