当前位置:首页 > 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分页功能,可以根据实际需求进行调整和扩展。

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

相关文章

js实现分页

js实现分页

实现分页的基本思路 分页功能通常需要处理数据分割、页码生成和用户交互。核心逻辑包括计算总页数、根据当前页截取数据、渲染页码按钮等。 前端分页实现(静态数据) 假设已有全部数据,仅需前端分页展示:…

css表格的制作方法

css表格的制作方法

基础表格结构 使用<table>标签创建表格框架,<tr>定义行,<td>定义单元格: <table> <tr> <td…

vue分页实现

vue分页实现

Vue 分页实现方法 基础分页组件实现 创建一个简单的分页组件,包含上一页、下一页和页码按钮。组件接收当前页码、总页数等参数,通过事件通知父组件页码变化。 <template> &l…

css制作表格

css制作表格

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

vue前端实现分页

vue前端实现分页

实现分页的基本思路 在Vue中实现分页通常需要结合后端API返回的数据和前端的分页组件。核心逻辑包括计算总页数、处理当前页码变化以及动态加载数据。 使用Element UI的分页组件 Element…

vue实现sku表格

vue实现sku表格

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