我已设置我的代码以获取上一个和下一个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 ...
有人可以帮助我吗?
感谢
答案 0 :(得分:1)
如果您获得最小和最大iID,则可以从
中查看范围UPDATE(这应该返回两个最小值/最大值):
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
}