REST& MySQL偏移选择

时间:2013-09-17 09:26:47

标签: php mysql rest

我有REST服务和方法,它接收属性偏移计数

  

url的示例:blablabla?offset = 10& count = 10

让我们想象一下,我选择数据进行无限滚动,我的网站有很多用户,所以当我向下滚动时,我在数据库中有新项目,这意味着当我选择偏移 10和计数时 10它有10个新项目,所以我会选择相同的数据。 MySQL是否有一些技巧来阻止它,并正确选择它?

1 个答案:

答案 0 :(得分:1)

将您的数据放入定义的,可重现的顺序中;意思是按日期或内容等方式对其进行排序,每次排序时顺序都是稳定的。然后使用日期/ id /列表中最后一项的任何内容作为“offset”:

bla?last=12345&count=10

  SELECT *
    FROM foo
   WHERE id < [last id]
ORDER BY id DESC
   LIMIT [count]

在这种情况下,当使用ID时,您需要确保您的ID总是递增,因此较新的记录始终具有比旧记录更高的ID。或者使用另一个标准来排序/偏移。