阅读量:0
在 PHP 中,解决倒序分页重复问题的一种常用方法是使用 SQL 语句的 LIMIT
和 ORDER BY
子句配合使用。
假设你有一个数据库表格 posts
,其中包含了一些文章,每个文章都有一个自增的 id
字段。
要实现倒序分页,首先需要根据 id
字段进行倒序排序,然后使用 LIMIT
子句指定每页显示的记录数和偏移量。
下面是一个示例代码:
// 每页显示的记录数 $limit = 10; // 当前页码 $page = isset($_GET['page']) ? $_GET['page'] : 1; // 计算偏移量 $offset = ($page - 1) * $limit; // 查询文章数据 $query = "SELECT * FROM posts ORDER BY id DESC LIMIT $limit OFFSET $offset"; $result = mysqli_query($conn, $query); // 输出文章数据 while ($row = mysqli_fetch_assoc($result)) { // 输出文章内容 echo $row['content']; } // 输出分页链接 $query = "SELECT COUNT(*) as total FROM posts"; $result = mysqli_query($conn, $query); $row = mysqli_fetch_assoc($result); $total_pages = ceil($row['total'] / $limit); for ($i = 1; $i <= $total_pages; $i++) { echo "<a href='?page=$i'>$i</a> "; }
在上面的示例代码中,首先通过 LIMIT
和 OFFSET
子句实现了倒序分页查询,然后计算总页数,并输出了分页链接。
这样就可以实现倒序分页,并且避免了重复数据的问题。