在我的网站中有一个页面显示表中的所有记录。所以,我有一个简单的分页机制。
对于分页,我根据页面查询具有限制的表。
$query = "SELECT * ";
$query .= "FROM records ";
$query .= "LIMIT $start, $limit;";
这对我来说非常有效。
但是,我需要获取记录的顺序不是表的顺序。它应该根据记录的日期和时间。 (有日期和时间列)。
因此,当我将查询更改为此时,它总是在每个页面中提供相同的记录。
$query = "SELECT * ";
$query .= "FROM records ";
$query .= "WHERE published = '1' ORDER BY date DESC, time DESC ";
$query .= "LIMIT $start, $limit;";
我需要的是,所有记录都应按$start
和$limit
变量.
这基本上是分页的实际工作方式。如何用这个来实现它..
最佳答案
其标准模式类似于
$itemsPerPage = 10;
$page = (int) $page; // get $page from route or $_GET['page'] or wherever
$pageNum = (!empty($page)) ? (int) $page - 1 : 0;
$start = $pageNum * $itemsPerPage;
$query = "SELECT * ";
$query .= "FROM records ";
$query .= "WHERE published = '1' ORDER BY date DESC, time DESC ";
$query .= "LIMIT $start, $itemsPerPage;";
记住它的开始加上项目数,而不是开始到结束。
关于php - 按日期和时间排序并有限制地获取所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37372512/