[英]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.