当前位置:首页 > 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 子句实现数据分页查询:

php分页简单实现

$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 样式提升分页导航视觉效果:

php分页简单实现

.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;

分页扩展功能

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

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 3 的简单增删改查(CRUD)实现示例,使用 Vue 的 Composition API 和响应式数据管理。 初始化项目 确保已安装 Vue…

vue实现选项卡分页

vue实现选项卡分页

实现选项卡分页的基本思路 在Vue中实现选项卡分页功能,可以通过动态组件或条件渲染结合数据绑定完成。核心逻辑是维护一个当前激活的选项卡状态,根据用户点击切换内容。 使用v-if条件渲染 通过v-if…

vue实现分页条数

vue实现分页条数

Vue 实现分页条数控制 在 Vue 中实现分页条数控制通常需要结合分页组件和后端 API 支持。以下是几种常见的实现方式: 使用 Element UI 的分页组件 Element UI 提供了强大…

vue实现后台分页

vue实现后台分页

Vue 实现后台分页的方法 分页组件与数据绑定 在 Vue 中实现后台分页通常需要结合分页组件和后端 API。使用 el-pagination(Element UI)或自定义分页组件,通过 v-mod…

php分页功能的实现

php分页功能的实现

分页功能的基本原理 分页功能的核心是通过SQL的LIMIT子句实现数据分段查询。LIMIT接受两个参数:起始位置偏移量和每页记录数。例如查询第2页(每页10条)的SQL语句为: SELECT * F…

vue分页实现原理

vue分页实现原理

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