当前位置:首页 > PHP

php实现表格分页代码

2026-02-14 01:51:27PHP

PHP实现表格分页的方法

在PHP中实现表格分页通常需要结合MySQL数据库查询和分页逻辑。以下是一个完整的分页实现示例:

数据库连接与查询

建立数据库连接并获取总记录数:

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname);

// 获取总记录数
$sql = "SELECT COUNT(*) as total FROM your_table";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$total_records = $row['total'];

分页参数设置

计算分页所需的基本参数:

$records_per_page = 10;
$total_pages = ceil($total_records / $records_per_page);

$current_page = isset($_GET['page']) ? $_GET['page'] : 1;
$offset = ($current_page - 1) * $records_per_page;

分页数据查询

获取当前页的数据:

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

显示表格数据

循环输出查询结果:

echo "<table border='1'>";
echo "<tr><th>ID</th><th>Name</th></tr>";

while($row = $result->fetch_assoc()) {
    echo "<tr>";
    echo "<td>".$row['id']."</td>";
    echo "<td>".$row['name']."</td>";
    echo "</tr>";
}

echo "</table>";

生成分页链接

创建分页导航:

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

完整示例

将所有代码整合成一个完整的示例:

<?php
// 数据库连接
$conn = new mysqli("localhost", "username", "password", "database");

// 分页逻辑
$records_per_page = 10;
$sql = "SELECT COUNT(*) as total FROM your_table";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$total_records = $row['total'];
$total_pages = ceil($total_records / $records_per_page);

$current_page = isset($_GET['page']) ? $_GET['page'] : 1;
$offset = ($current_page - 1) * $records_per_page;

// 数据查询
$sql = "SELECT * FROM your_table LIMIT $offset, $records_per_page";
$result = $conn->query($sql);

// 显示表格
echo "<table border='1'>";
echo "<tr><th>ID</th><th>Name</th></tr>";

while($row = $result->fetch_assoc()) {
    echo "<tr>";
    echo "<td>".$row['id']."</td>";
    echo "<td>".$row['name']."</td>";
    echo "</tr>";
}

echo "</table>";

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

$conn->close();
?>

样式优化

可以为分页添加CSS样式:

php实现表格分页代码

.pagination {
    margin-top: 20px;
}
.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;
}

注意事项

  • 确保对用户输入的页码进行验证,防止SQL注入
  • 考虑使用预处理语句提高安全性
  • 对于大型数据集,可以考虑使用AJAX实现无刷新分页
  • 可以添加"上一页"和"下一页"按钮增强用户体验

这种分页方法适用于大多数PHP网站,可以根据实际需求调整每页显示的记录数和样式。

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

相关文章

vue表格实现教学

vue表格实现教学

Vue 表格实现方法 使用原生HTML表格 在Vue模板中直接使用HTML的<table>标签,结合v-for动态渲染数据: <template> <table&g…

分页实现vue

分页实现vue

分页实现(Vue) 在Vue中实现分页功能通常需要结合前端分页逻辑和后端API支持。以下是两种常见的实现方式: 前端分页实现 适用于数据量较小的情况,直接在客户端完成分页逻辑。 <templ…

css好看的表格制作

css好看的表格制作

使用CSS制作美观表格的方法 边框与间距优化 通过border-collapse属性合并边框,避免双边框效果。设置padding增加单元格内边距,提升可读性。 table { border-…

react 如何分页

react 如何分页

分页实现方法 在React中实现分页功能可以通过多种方式完成,具体取决于数据来源(如API或本地数据)和UI库的选择。以下是常见的实现方法: 使用本地数据分页 对于存储在组件状态或Context中…

vue router实现分页

vue router实现分页

使用 Vue Router 实现分页 在 Vue.js 项目中,可以通过 Vue Router 结合分页组件实现分页功能。以下是实现分页的几种方法: 使用路由参数传递页码 在路由配置中定义一个动态参…

分页用vue实现

分页用vue实现

实现分页的基本思路 在Vue中实现分页功能,通常需要以下几个核心部分:数据列表、当前页码、每页显示数量、总页数计算、页码切换逻辑。以下是一个完整的实现方案。 分页组件代码示例 <templat…