PHP/MYSQL 查询 : Get line above and below result!

标签 php mysql view

我不知何故需要一种方法来实现以下目的:

用户位于某个博客页面现在我想让他能够移动:

到下一个更受欢迎的页面或到下一个不太受欢迎的页面。意思是,像这样:

[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/

相关文章:

MySQL View : polymorphic associations and child tables

javascript - 在 Extjs GridView 中隐藏行不起作用

PHP foreach 多次执行代码

java - 更新由 symmetricds 同步的表

php - 登录后如何使用sql中的session获取两张表的数据,但是我登录时使用了1张表的数据

php - 预约确定

php - MYSQL 选择字符串中所有子字符串都存在的位置

android - 在 ListView 滚动时动画 View 不起作用

php - Sendgrid Web API v3 每个收件人的不同替换值

php - 是否可以在 javascript 中使用 PHP 定义的变量?