当前位置:首页 > 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样式美化分页导航:

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

php实现表格分页代码

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

相关文章

vue实现分页条数

vue实现分页条数

实现分页条数的方法 在Vue中实现分页条数功能,通常需要结合分页组件和数据请求逻辑。以下是几种常见的实现方式: 使用Element UI的分页组件 Element UI提供了现成的分页组件,可以快…

css表格制作

css表格制作

CSS 表格制作基础 使用 CSS 可以创建美观且响应式的表格。以下是一些基本方法: table 元素用于定义表格,tr 定义行,td 定义单元格,th 定义表头单元格。 <table&…

表格制作css

表格制作css

基础表格样式 使用CSS可以轻松地为HTML表格添加样式。以下是一个基础表格的HTML和CSS示例: <table class="basic-table"> <thead&g…

vue搜索过后实现分页

vue搜索过后实现分页

实现 Vue 搜索后分页的方法 数据绑定与搜索逻辑 在 Vue 组件中定义数据属性,包括原始数据列表、搜索关键词、分页相关参数: data() { return { originalLi…

vue 分页 实现

vue 分页 实现

Vue 分页实现方法 使用 Element UI 分页组件 Element UI 提供了现成的分页组件 el-pagination,适合快速集成。需要先安装 Element UI 库。 安装 El…

vue实现表格复选

vue实现表格复选

实现表格复选的基本思路 在Vue中实现表格复选功能,通常需要结合v-model绑定选中状态,监听复选框变化事件,以及维护一个选中项的数组。以下是具体实现方法: 基础实现步骤 数据准备 定义表格数据…