当前位置:首页 > PHP

php分页代码简单实现

2026-02-27 11:03:54PHP

基本分页逻辑实现

分页的核心是通过SQL的LIMIT子句实现数据分段查询。假设每页显示10条数据,当前页码为$page

$perPage = 10; // 每页条数
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1; // 当前页码
$offset = ($page - 1) * $perPage; // 计算偏移量

// 查询当前页数据
$sql = "SELECT * FROM your_table LIMIT $offset, $perPage";
$result = mysqli_query($conn, $sql);

计算总页数

需要先获取数据总量才能计算总页数:

$totalQuery = "SELECT COUNT(*) as total FROM your_table";
$totalResult = mysqli_query($conn, $totalQuery);
$totalRow = mysqli_fetch_assoc($totalResult);
$totalPages = ceil($totalRow['total'] / $perPage);

生成分页链接

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

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

完整示例代码

结合数据库连接和样式的基本实现:

<?php
$conn = mysqli_connect("localhost", "username", "password", "database");

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

// 获取当前页数据
$sql = "SELECT * FROM articles LIMIT $offset, $perPage";
$result = mysqli_query($conn, $sql);

// 显示数据
while ($row = mysqli_fetch_assoc($result)) {
    echo "<h3>{$row['title']}</h3>";
    echo "<p>{$row['content']}</p>";
}

// 计算总页数
$totalResult = mysqli_query($conn, "SELECT COUNT(*) as total FROM articles");
$totalRow = mysqli_fetch_assoc($totalResult);
$totalPages = ceil($totalRow['total'] / $perPage);

// 生成分页链接
echo '<div class="pagination">';
for ($i = 1; $i <= $totalPages; $i++) {
    $active = ($i == $page) ? 'active' : '';
    echo "<a href='?page=$i' class='$active'>$i</a>";
}
echo '</div>';

mysqli_close($conn);
?>

样式优化建议

为分页链接添加基础CSS样式:

php分页代码简单实现

.pagination {
    margin-top: 20px;
}
.pagination a {
    display: inline-block;
    padding: 8px 16px;
    margin: 0 4px;
    border: 1px solid #ddd;
    text-decoration: none;
}
.pagination a.active {
    background-color: #4CAF50;
    color: white;
    border: 1px solid #4CAF50;
}

注意事项

  • 务必对$_GET['page']进行类型转换和验证,防止SQL注入
  • 大型数据集建议使用缓存机制优化性能
  • 实际项目中建议将分页逻辑封装成可复用函数或类

标签: 分页代码
分享给朋友:

相关文章

网页表格制作css代码

网页表格制作css代码

基础表格样式 使用CSS为HTML表格添加基础样式,如边框、间距和背景色: table { width: 100%; border-collapse: collapse; margin:…

h5实现响应式代码

h5实现响应式代码

响应式设计基础 HTML5实现响应式设计主要通过媒体查询(Media Queries)、弹性布局(Flexbox)、网格布局(Grid)和视口设置(Viewport Meta Tag)等技术。核心目标…

vue怎样实现分页

vue怎样实现分页

Vue实现分页的方法 使用第三方库(如Element UI或Ant Design Vue) Element UI的Pagination组件可以直接集成到Vue项目中。安装Element UI后,在组件…

vue实现分页组件

vue实现分页组件

Vue 分页组件实现 基础分页组件结构 创建一个名为 Pagination.vue 的文件,包含以下基础模板和逻辑: <template> <div class="pa…

vue实现前端分页

vue实现前端分页

实现前端分页的方法 在Vue中实现前端分页通常需要结合数据截取和分页组件。以下是常见的实现方式: 基础实现方案 数据准备 定义总数据数组和分页相关变量: data() { return {…

vue中实现分页

vue中实现分页

vue中实现分页的方法 使用Element UI的分页组件 Element UI提供了现成的分页组件el-pagination,适合快速集成。需先安装Element UI库。 安装命令: npm…