php - 按日期和时间排序并有限制地获取所有记录

标签 php mysql pagination

在我的网站中有一个页面显示表中的所有记录。所以,我有一个简单的分页机制。

对于分页,我根据页面查询具有限制的表。

$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/

相关文章:

objective-c - 在客户端处理分页 api

ios - UITableView分页: inserting new cells while scrolling weird behavior

php - PHP 中多行注释内的多行注释

php - 注册后验证出现问题

php - Satis - 在本地存储 Packagist 存储库,并进行本地更改,但不供公众使用

javascript - 轻松分页在顶部添加额外的导航栏

php - 如何找到多维数组中每个元素的所有唯一组合

mysql - 将多个 SQL 语句组合成一个

mysql - 从另一个表Mysql中引入数据属性

php - 比较表中的内容