php分页代码简单实现

PHP 分页代码实现
分页功能是 Web 开发中常见的需求,以下是一个简单的 PHP 分页实现方法,适用于 MySQL 数据库。
数据库连接与查询
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
分页逻辑实现
<?php
$records_per_page = 10;
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$start_from = ($page - 1) * $records_per_page;
$sql = "SELECT * FROM your_table LIMIT $start_from, $records_per_page";
$result = $conn->query($sql);
?>
显示分页数据
<?php
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 results";
}
?>
生成分页链接
<?php
$sql = "SELECT COUNT(*) AS total FROM your_table";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$total_pages = ceil($row["total"] / $records_per_page);
for ($i = 1; $i <= $total_pages; $i++) {
echo "<a href='index.php?page=".$i."'>".$i."</a> ";
}
?>
完整示例代码
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$records_per_page = 10;
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$start_from = ($page - 1) * $records_per_page;
$sql = "SELECT * FROM your_table LIMIT $start_from, $records_per_page";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 results";
}
$sql = "SELECT COUNT(*) AS total FROM your_table";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$total_pages = ceil($row["total"] / $records_per_page);
for ($i = 1; $i <= $total_pages; $i++) {
echo "<a href='index.php?page=".$i."'>".$i."</a> ";
}
$conn->close();
?>
注意事项
- 确保替换数据库连接信息(servername, username, password, dbname)
- 替换表名为实际的表名(your_table)
- 根据实际需求调整每页显示的记录数($records_per_page)
- 添加适当的样式美化分页链接
- 考虑添加当前页高亮显示功能
- 对于大型数据集,考虑使用更高效的分页方法







