如何限制mysql行以选择最新的50行


How to limit mysql rows to select newest 50 rows

如何限制mysql行选择最新的50行,并有下一个按钮,以便在不知道确切行数的情况下选择下一个50行?

我的意思是表中的行数可能会增加。好吧,我会解释清楚:我正在开发一个web应用程序,作为我使用php-mysql-html的文档管理系统项目。一切都已完成,但在检索文档时,我的意思是可能有数千个文档。

我的信息表中的所有文档都在主页中检索,这看起来不太好。所以我想添加页面,这样只有最新的50个文档放在第一页,接下来的50个放在第二页,以此类推

但是,为什么我每次都知道确切的行数,而且我不能每次添加新文档时都更改代码,所以…numrows可能没有用处,我认为。。。

请帮帮我。。。

您正在寻找的是分页,实现简单分页的最简单方法是在SQL查询中使用LIMIT x , y

你真的不需要你所拥有的行的总弹药数,你只需要两个数字:

  • 您已经查询过的注释的总数,因此您知道下一次查询必须在哪里继续
  • 要列出每个查询的元素总数(例如,如您所建议的50)

假设你想查询前50个元素,你应该在查询的末尾插入LIMIT 0,50,之后你需要在某个地方存储你已经查询了50个元素的事实,所以下次你把限制改为LIMIT 50,50时(从元素号50开始,查询后面的50个元素)。

顺序取决于插入条目时所创建的字段。通常情况下,您可以更新表并添加字段created TIMESTAMP DEFAULT CURRENT_TIMESTAMP,然后只使用ORDER BY created,因为从现在起,您的条目将存储创建它们的确切时间,以便查找最近的值(如果您有AUTO_INCREMENT id,也可以查找更大的值)。

这可能是一个使用php和MySQL的系统示例:

$page = 1;
if(!empty($_GET['page'])) {
    $page = filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT);
    if(false === $page) {
        $page = 1;
    }
}
// set the number of items to display per page
$items_per_page = 50;
// build query
$offset = ($page - 1) * $items_per_page;
$sql = "SELECT * FROM your_table LIMIT " . $offset . "," . $items_per_page;

当我第一次尝试制作这个分页系统时,我发现这篇文章真的很有用,所以我建议你去看看(也是这个例子的来源)。

希望这对你有所帮助,很抱歉,由于我没有你的代码,我无法为你提供更好的例子。

使用php&mysql。这可能对你的问题很方便。

要限制mysql查询获取50行,请使用LIMIT关键字。您可能需要找到&存储最后一行id(第50行),以便在下一页中继续第51到第100行。

张贴您对代码所做的操作。请参阅你所做的[点]com

从另一篇文章中查看此示例https://stackoverflow.com/a/2616715/6257039,您可以通过id或查询中的creation_date desc来生成和orber