当前位置:首页 > 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中实现分页功能通常需要结合后端API或前端数据处理。以下是两种常见的实现方式: 前端分页实现 适用于数据量较小的情况,所有数据一次性加载到前端后进行分页处理: <…

vue elementui实现分页

vue elementui实现分页

Vue + ElementUI 分页实现方法 安装与引入 确保已安装 ElementUI,可通过 npm 或 yarn 安装: npm install element-ui 在 main.js 中全…

vue实现简单表格

vue实现简单表格

使用 Vue 实现简单表格 Vue 提供了多种方式实现表格功能,以下是基于 Vue 3 的两种常见方法: 基础表格实现 通过 v-for 指令循环渲染表格数据: <template&…

vue实现数据分页

vue实现数据分页

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

vue搜索分页实现

vue搜索分页实现

Vue 搜索分页实现方法 基本思路 搜索分页通常需要结合后端API,前端通过Vue组件实现搜索框、分页器和数据列表的联动。核心逻辑包括:监听搜索输入变化、分页参数变化,触发数据请求并更新视图。 实现…

vue 实现前端分页

vue 实现前端分页

实现前端分页的基本思路 在Vue中实现前端分页,通常需要将数据存储在组件的data或computed属性中,然后通过计算当前页的数据切片进行展示。以下是具体实现方法。 定义数据和分页参数 在Vue组…