php - mysql 上一个/下一个 id 和循环

标签 php mysql pagination

我已经设置了代码来获取上一个和下一个 id。但是,一旦它到达数字的最后一个或开头,它就不会让我分别进入下一个或上一个。

这就是我设置 sql 查询的方式

$pre = mysql_query("SELECT iID,userID FROM images WHERE iID < # AND userID = 4 ORDER BY iID DESC LIMIT 1"); 
$nex = mysql_query("SELECT iID,userID FROM images WHERE iID > # AND userID = 4 ORDER BY iID ASC LIMIT 1");

有人可以帮我循环查询吗?所以如果碰到最小的数,或者最大的数,就会返回循环

例如:

iID     userID

3        4
4        0
5        4
10       4

因此,如果我循环遍历所有带有 4 的 userID,当前它将显示 iID,5,我可以单击上一个和下一个,然后它将分别转到 iID 3 和 10。但当达到 3 或 10 时,就达到最大值了。我想继续查询。所以如果我点击前一个,它会变成 3,如果我再次点击前一个,它会变成 10,然后是 5,然后是 3,然后回到 10...

有人可以帮助我吗?

谢谢

最佳答案

如果您获得最小和最大 iID,则可以查看一个范围

更新(这应该返回两个值最小值/最大值):

SELECT MAX(iID) AS max_iid, MIN(iID) AS min_iid
FROM images
WHERE userID = 4

PHP:

// Check if image is between the min/max
if($iID <= $max_iid && $iID >= $min_iid) {
    // display image

// if image id is greater than the max, display the min id
} elseif($iID > $max_iid) {
    // display min_iid image

// else display the max image id
} else {
    // display max_iid image
}

关于php - mysql 上一个/下一个 id 和循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7011418/

相关文章:

php - Laravel:并行运行 Artisan 命令

php - 为什么 json_encode 返回空括号?

mysql - 具有来自不同表的日期条件的 Sumif

MySQL批量插入失败的记录行

mysql - 如何让MySQL记录在指定时间后没有更新时自动删除?

javascript - 可以使用 JQuery .each 函数为 ul 中的每个 li 创建链接吗?

php - 如何在 android 推送通知中显示来自链接的图像?

php - CakePHP:无法识别 hasMany 关联

mysql - 在关系数据库和非关系数据库之间同步分页

python - 使用 python 请求获取所有页面