当前位置:首页 > PHP

php实现表格分页代码

2026-04-03 09:37:38PHP

实现表格分页的基本逻辑

在PHP中实现表格分页功能,通常需要结合数据库查询和前端分页控件。核心逻辑是通过SQL的LIMIT子句控制数据范围,配合页码参数实现分页切换。

数据库查询分页

通过LIMIT offset, count实现分页查询,其中offset是起始位置,count是每页显示的记录数。

php实现表格分页代码

$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$perPage = 10; // 每页显示10条记录
$offset = ($page - 1) * $perPage;

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

显示分页数据

将查询结果渲染为HTML表格:

echo '<table>';
while ($row = $result->fetch_assoc()) {
    echo '<tr>';
    echo '<td>'.$row['column1'].'</td>';
    echo '<td>'.$row['column2'].'</td>';
    echo '</tr>';
}
echo '</table>';

计算总页数

需要先获取总记录数以计算总页数:

php实现表格分页代码

$totalSql = "SELECT COUNT(*) as total FROM your_table";
$totalResult = $conn->query($totalSql);
$totalRows = $totalResult->fetch_assoc()['total'];
$totalPages = ceil($totalRows / $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 = new mysqli('localhost', 'username', 'password', 'database');

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

// 获取分页数据
$sql = "SELECT * FROM products LIMIT {$offset}, {$perPage}";
$result = $conn->query($sql);

// 显示表格
echo '<table border="1">';
echo '<tr><th>ID</th><th>Name</th><th>Price</th></tr>';
while ($row = $result->fetch_assoc()) {
    echo '<tr>';
    echo '<td>'.$row['id'].'</td>';
    echo '<td>'.$row['name'].'</td>';
    echo '<td>'.$row['price'].'</td>';
    echo '</tr>';
}
echo '</table>';

// 计算总页数
$totalResult = $conn->query("SELECT COUNT(*) as total FROM products");
$totalRows = $totalResult->fetch_assoc()['total'];
$totalPages = ceil($totalRows / $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>';
?>

前端样式建议

为分页导航添加基本CSS样式:

.pagination a {
    display: inline-block;
    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;
}

安全注意事项

  1. 始终对输入的页码参数进行验证和过滤
  2. 使用预处理语句防止SQL注入
  3. 对数据库查询错误进行适当处理

通过以上方法可以实现基本的PHP表格分页功能,可根据实际需求调整每页显示数量和分页导航样式。

标签: 分页表格
分享给朋友:

相关文章

vue实现重置表格数据

vue实现重置表格数据

重置表格数据的方法 在Vue中重置表格数据通常涉及清空或重新初始化数据绑定的数组或对象。以下是几种常见实现方式: 直接重置数据源 对于基于数组的表格数据,可以直接将数据数组重置为空或初始值: //…

css 制作表格

css 制作表格

CSS 制作表格的方法 使用 CSS 制作表格可以通过多种方式实现,包括原生 HTML 表格样式、Flexbox 布局或 Grid 布局。以下是几种常见的方法: 原生 HTML 表格样式 HTML…

css制作表格

css制作表格

CSS 制作表格的方法 使用 CSS 可以灵活地创建和样式化表格,以下是几种常见的方法: 使用 HTML 表格标签结合 CSS 样式 通过 HTML 的 <table>、<tr&g…

php分页功能的实现

php分页功能的实现

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

vue表格实现导出

vue表格实现导出

使用 vue-json-excel 插件 安装插件: npm install vue-json-excel --save 在组件中引入并注册: import JsonExcel from 'vue…

vue实现sku表格

vue实现sku表格

Vue实现SKU表格的方法 SKU(Stock Keeping Unit)表格常用于电商平台展示商品的多属性组合,例如颜色、尺寸等。以下是基于Vue的实现方法: 数据结构设计 SKU的核心是属性组合…