当前位置:首页 > PHP

php分页简单实现

2026-02-16 13:57:55PHP

PHP 分页实现方法

基本分页逻辑

通过计算总记录数、每页显示数量和当前页码实现分页。需要以下关键变量:

$total_records = 100; // 总记录数
$per_page = 10;      // 每页显示数量
$current_page = isset($_GET['page']) ? (int)$_GET['page'] : 1; // 当前页码
$total_pages = ceil($total_records / $per_page); // 总页数

数据库查询分页

结合 MySQL 的 LIMIT 子句实现数据分页查询:

$offset = ($current_page - 1) * $per_page;
$sql = "SELECT * FROM table_name LIMIT $offset, $per_page";
$result = mysqli_query($conn, $sql);

分页链接生成

创建可点击的分页导航链接:

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

完整示例代码

// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

// 获取总记录数
$count_result = mysqli_query($conn, "SELECT COUNT(*) FROM products");
$total_records = mysqli_fetch_array($count_result)[0];

// 分页参数
$per_page = 5;
$current_page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$total_pages = ceil($total_records / $per_page);

// 数据查询
$offset = ($current_page - 1) * $per_page;
$sql = "SELECT * FROM products LIMIT $offset, $per_page";
$result = mysqli_query($conn, $sql);

// 显示数据
while ($row = mysqli_fetch_assoc($result)) {
    echo $row['product_name']."<br>";
}

// 分页导航
for ($i = 1; $i <= $total_pages; $i++) {
    echo "<a href='?page=$i'".($i == $current_page ? " class='active'" : "").">$i</a> ";
}

分页样式优化

添加 CSS 样式提升分页导航视觉效果:

.pagination a {
    padding: 8px 16px;
    text-decoration: none;
    border: 1px solid #ddd;
    margin: 0 4px;
}
.pagination a.active {
    background-color: #4CAF50;
    color: white;
    border: 1px solid #4CAF50;
}
.pagination a:hover:not(.active) {
    background-color: #ddd;
}

分页安全考虑

对页码参数进行验证和过滤:

$current_page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
if ($current_page < 1) $current_page = 1;
if ($current_page > $total_pages) $current_page = $total_pages;

分页扩展功能

添加上一页和下一页按钮:

php分页简单实现

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

标签: 分页简单
分享给朋友:

相关文章

vue简单实现

vue简单实现

Vue 简单实现步骤 安装 Vue.js 最新版本: npm install vue@latest 创建 Vue 实例: import { createApp } from 'vue' cons…

vue加载实现分页

vue加载实现分页

Vue 实现分页加载的方法 使用 Element UI 的分页组件 安装 Element UI 后,可以直接使用其分页组件。在模板中添加分页组件,并绑定相关事件和数据。 <template&g…

vue实现分页缩进

vue实现分页缩进

vue实现分页缩进的方法 使用v-for和计算属性实现分页 通过计算属性对数据进行分页处理,结合v-for渲染分页数据。计算属性根据当前页码和每页显示数量对原始数据进行切片。 computed: {…

vue 实现表格分页

vue 实现表格分页

Vue 实现表格分页的方法 使用 Element UI 的分页组件 Element UI 提供了现成的分页组件 el-pagination,结合 el-table 可以快速实现表格分页功能。 安装…

vue实现数据分页

vue实现数据分页

Vue 实现数据分页的方法 使用计算属性分页 在 Vue 中,可以利用计算属性对数据进行分页处理。这种方法适用于前端分页,即一次性获取所有数据后在客户端进行分页。 data() { return…

vue实现简单分页

vue实现简单分页

实现基础分页功能 在Vue中实现简单分页需要几个核心步骤:数据分片、页码计算、翻页逻辑。以下是一个基于Vue 3的示例实现方案: <template> <div>…