我不知何故需要一种方法来实现以下目的:
用户位于某个博客页面现在我想让他能够移动:
到下一个更受欢迎的页面或到下一个不太受欢迎的页面。意思是,像这样:
[PAGE 5] | [PAGE 3 (User is here)] | [PAGE 2]
(第 1 页 = 最受欢迎,第 3 页 = 最不受欢迎)。我的 MySQL 表如下所示:
[ID] [VIEWS]
[1] [1000]
[2] [2560]
[3] [3200]
[4] [200]
[5] [4000]
我的问题是具体查询。在这种情况下,唯一给定的变量是 ID:2。也许你能帮帮我。如果您需要更多信息,请告诉我。 (我只需要两个邻居。不需要第 4 页等。)
编辑:@Trevor 不,抱歉我不能。我更改了示例,使其更清晰。
最佳答案
注意:根据各种评论,@mellamokb's answer比我的好。我会删除此答案,但无法删除,因为它已被接受。
/* Next Page */
SELECT ID
FROM YourTable
WHERE VIEWS <= (SELECT VIEWS FROM YourTable WHERE ID = $CurrentPageId)
AND ID < $CurrentPageId
ORDER BY VIEWS DESC, ID DESC LIMIT 1
/* Previous Page */
SELECT ID
FROM YourTable
WHERE VIEWS >= (SELECT VIEWS FROM YourTable WHERE ID = $CurrentPageId)
AND ID > $CurrentPageId
ORDER BY VIEWS, ID LIMIT 1
关于PHP/MYSQL 查询 : Get line above and below result!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5147518/