繁体   English   中英

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

[英]mysql previous/next id and cycle

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

这就是我设置 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");

有人可以帮我循环查询吗? 因此,如果它达到最小数字或最大数字,它将 go 回循环

前任:

iID     userID

3        4
4        0
5        4
10       4

因此,如果我用 4 循环遍历所有用户 ID,并且当前它会显示 iID 5,我可以单击上一个和下一个,然后它将 go 分别指向 iID 3 和 10。 但是当它达到 3 或 10 时,它是最大值。 我想继续查询。 所以如果我点击前一个,它将 go 3,如果我再次点击前一个,它将 go 到 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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM