php新闻分页代码
以下是一个简单的 PHP 新闻分页代码示例:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "news";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 分页参数
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$limit = 10;
$offset = ($page - 1) * $limit;
// 查询新闻数据
$sql = "SELECT * FROM news LIMIT $offset,$limit";
$result = $conn->query($sql);
// 显示新闻列表
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<h2>" . $row["title"]. "</h2><p>" . $row["content"] . "</p>";
}
} else {
echo "没有新闻可显示";
}
// 计算总页数和生成分页链接
$sql = "SELECT COUNT(*) AS total FROM news";
$result = $conn->query($sql);
$total = ceil($result->fetch_assoc()['total'] / $limit);
$prev_page = max(1, $page - 1);
$next_page = min($total, $page + 1);
echo "<div style='text-align:center;'>";
echo "<a href='?page=$prev_page'>上一页</a> ";
for ($i=1; $i<=$total; $i++) {
echo "<a href='?page=$i'>$i</a> ";
}
echo "<a href='?page=$next_page'>下一页</a>";
echo "</div>";
// 关闭连接
$conn->close();
?>
这个示例中,我们首先建立了一个与 MySQL 数据库的连接。然后,我们定义了分页参数,包括当前页码、每页显示的新闻数量和偏移量。接着,我们查询数据库获取新闻数据,并通过一个循环将其逐一显示出来。
计算总页数和生成分页链接是本例的重点。我们再次查询数据库获取新闻总数,并使用总数和每页显示的新闻数量计算出总页数。然后,我们根据当前页码生成上一页和下一页的链接,并在页面底部显示所有页码的链接。
需要注意的是,我们在生成链接时必须考虑到边界情况。例如,上一页的链接应该在第一页时消失,下一页的链接应该在最后一页时消失。
分页功能对于网站的用户体验至关重要,因为它可以有效地减少页面加载时间和数据传输量。通常情况下,只需要将数据按照某种规则进行分段处理即可实现分页功能。在 PHP 中,我们可以使用 MySQL 的 LIMIT 语句来实现数据分段,同时根据总数和每页显示数量计算出总页数,并为每个页码生成链接即可实现分页。
本文来自博客园,作者:拓源技术,转载请注明原文链接:https://www.cnblogs.com/tuoyuanjishu/p/17453544.html