当前位置:首页 > PHP

php实现表格分页代码

2026-02-28 00:47:40PHP

PHP实现表格分页代码

要实现表格分页功能,通常需要结合数据库查询、分页逻辑和前端展示。以下是一个完整的PHP分页实现示例:

数据库连接与查询

$host = 'localhost';
$dbname = 'your_database';
$username = 'username';
$password = 'password';

try {
    $conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}

// 获取总记录数
$totalQuery = $conn->query("SELECT COUNT(*) FROM your_table");
$totalRecords = $totalQuery->fetchColumn();

// 分页参数
$recordsPerPage = 10;
$totalPages = ceil($totalRecords / $recordsPerPage);
$currentPage = isset($_GET['page']) ? $_GET['page'] : 1;
$offset = ($currentPage - 1) * $recordsPerPage;

// 获取当前页数据
$stmt = $conn->prepare("SELECT * FROM your_table LIMIT :offset, :recordsPerPage");
$stmt->bindValue(':offset', $offset, PDO::PARAM_INT);
$stmt->bindValue(':recordsPerPage', $recordsPerPage, PDO::PARAM_INT);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);

表格展示

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

foreach ($results as $row) {
    echo '<tr>';
    echo '<td>'.$row['id'].'</td>';
    echo '<td>'.$row['name'].'</td>';
    echo '<td>'.$row['email'].'</td>';
    echo '</tr>';
}

echo '</table>';

分页导航

echo '<div class="pagination">';

// 上一页链接
if ($currentPage > 1) {
    echo '<a href="?page='.($currentPage - 1).'">Previous</a>';
}

// 页码链接
for ($i = 1; $i <= $totalPages; $i++) {
    if ($i == $currentPage) {
        echo '<span class="current">'.$i.'</span>';
    } else {
        echo '<a href="?page='.$i.'">'.$i.'</a>';
    }
}

// 下一页链接
if ($currentPage < $totalPages) {
    echo '<a href="?page='.($currentPage + 1).'">Next</a>';
}

echo '</div>';

样式增强

可以添加CSS样式美化分页导航:

php实现表格分页代码

.pagination {
    margin-top: 20px;
}
.pagination a, .pagination span {
    padding: 5px 10px;
    margin: 0 2px;
    border: 1px solid #ddd;
    text-decoration: none;
    color: #333;
}
.pagination a:hover {
    background: #eee;
}
.pagination .current {
    background: #428bca;
    color: white;
    border-color: #428bca;
}

优化建议

  1. 添加参数验证确保$_GET['page']是有效数字
  2. 考虑使用AJAX实现无刷新分页
  3. 对于大数据表,考虑添加索引优化查询性能
  4. 可以封装分页功能为可重用类或函数

这个实现展示了基本的PHP分页功能,可以根据实际需求进行调整和扩展。

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

相关文章

vue实现表格上传头像

vue实现表格上传头像

实现表格上传头像功能 在Vue中实现表格上传头像功能,可以通过以下步骤完成。这里假设使用Element UI作为UI框架,但方法同样适用于其他UI库或原生实现。 安装必要依赖 确保项目中已安装Ele…

css表格的制作方法

css表格的制作方法

表格基础结构 使用HTML的<table>标签创建表格框架,搭配<tr>定义行,<td>定义单元格。例如: <table> <tr>…

vue实现分页组件

vue实现分页组件

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

vue实现表格透明

vue实现表格透明

实现表格透明的方法 在Vue中实现表格透明效果,可以通过CSS样式调整表格的背景透明度。以下是几种常见的方法: 设置表格背景透明度 通过CSS的background-color属性配合rgba()…

vue实现表格序号

vue实现表格序号

实现表格序号的常见方法 在Vue中为表格添加序号列可以通过多种方式实现,以下是几种典型方案: 使用v-for索引 <template> <table> <…

vue实现滚动分页

vue实现滚动分页

实现滚动分页的基本思路 滚动分页(Infinite Scroll)是一种常见的前端分页加载方式,当用户滚动到页面底部时自动加载下一页数据。Vue 结合现代前端工具可以轻松实现这一功能。 监听滚动事件…