如何在动态数据库中加载下5行?

时间:2017-10-24 14:07:39

标签: php mysql

是否可以相对于最后一行选择接下来的5行?

实施例: 我有表产品,记录可以由用户自己添加。我需要制作一些分页产品,例如显示5个产品和显示按钮加载更多。点击按钮后,我将发送一个Ajax请求并加载另外5个产品。

表产品(id):

  

10,12,9,8,3,3,2,1,18,19

此时用户可以看到ID为10,12,9,8,4的产品

在用户点击显示接下来的5个产品之前,另一个用户将添加ID为20的产品(例如)。现在我在表格中有新产品

  

20,10,12,9,8,4,3,2,1,18,19

当用户点击显示接下来的5个产品时,我想显示下一个产品,所以产品ID为3,2,1,18,19,所以我想忽略ID为20的新行并在最后一个产品之后开始。

我不能将mysql SELECTLIMIT一起使用,因为此时表中的Products是另一个行数。

是否有一些SQL查询,允许我运行SELECT * FROM products WHERE {..} LIMIT {..}并在我的上一个产品之后开始?

2 个答案:

答案 0 :(得分:0)

您可以定义MySQL应从哪个位置和行数。

查看文档:{​​{3}}

  

LIMIT {[offset,] row_count | row_count OFFSET offset}

示例:

SELECT * FROM tbl LIMIT 5,10;  # Retrieve rows 6-15

答案 1 :(得分:0)

例如,您可以在名为create_date的产品中添加字段,您可以在其中存储产品的创建时间。

这将允许您过滤:

WHERE create_date < $initalSearchTimestamp
LIMIT 5, 10

$initalSearchTimestamp需要成为PHP代码的一部分。

MySQL itfelf没有上次用户搜索时产品表版本的信息。