php实现表格分页代码
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;
}
优化建议
- 添加参数验证确保
$_GET['page']是有效数字 - 考虑使用AJAX实现无刷新分页
- 对于大数据表,考虑添加索引优化查询性能
- 可以封装分页功能为可重用类或函数
这个实现展示了基本的PHP分页功能,可以根据实际需求进行调整和扩展。







