【发布时间】:2010-09-07 12:14:36
【问题描述】:
如果您知道如何更好地提出问题,请随时编辑标题。 (标记也是一个问题。)这个问题在这个一般形式中可能太难了,所以让我们考虑一个具体的例子。
通过请求 /questions ?sort=newest 页面,您会收到一屏的 stackoverflow 问题。下一页链接指向/questions?page=2 &sort=newest。我想在服务器端,请求被翻译成带有 LIMIT 子句的 SQL 查询。这种方法的问题是,如果在用户浏览第一页时添加了新问题,他的第二页将从他已经看到的一些问题开始。 (如果他每页有 10 个问题,并且恰好添加了 10 个新问题,那么他第二次会得到完全相同的内容!)
有没有一种优雅的方法来解决这个常见问题?我意识到这不是什么大问题,至少对于 stackoverflow 来说不是,但仍然如此。
我最好的想法(除了存储每个客户端的请求历史)是使用/questions?answer_id=NNN 格式。服务器返回一个以请求的答案开头的页面,并将下一页上第一个答案的 id 放入下一页链接。一定有办法为此编写 SQL,对吧?
它通常是怎么做的?还是有更好的办法?
【问题讨论】:
-
我喜欢您建议的解决方案。我还没有看到任何可以击败它的东西(我也想不出更好的东西)。 :) 我会试试下面的 SQL。