这就是我现在所拥有的
需要发生的是,当查询运行时,它应该得到一个记录,其中id将等于下一个id,但如果记录不存在,它应该抓住下一个但是当我尝试运行下面的查询时它运行并得到最后一条记录是最高记录
说清楚:
数据库中的记录:
因此,如果查询检查记录2(不存在),它应该得到下一个最高值,即5而不是10,我将如何做?
$query = "SELECT * FROM images where images >= '$nextid'";
$sql = mysqli_query($conn,$query) or die(mysqli_error($conn));
while($row = mysqli_fetch_array($sql)){
$forwardid = $row['images_id'];
$picname = $row['image_name'];
}
答案 0 :(得分:0)
试试这个
$query = "SELECT * FROM images where images >= '$nextid' ORDER BY
images_id ASC LIMIT 0 , 1";
答案 1 :(得分:0)
试试这个:
SELECT *
FROM images
WHERE images_id >= 2
ORDER BY images_id
LIMIT 1;
答案 2 :(得分:0)
您可以添加另一个迭代,将您的资源转换为数组,并包含下一个ID
$result = mysql_query(" your query ");
$recordset = array(); $i = 0;
while ($row = mysql_fetch_assoc($result))
{
$recordset[$i] = $row;
if ($i > 0) { $recordset[$i-1]['nextid'] = $row['id']; }
$i++;
}
答案 3 :(得分:0)
你可以尝试以下。我认为它会对你有帮助。
select * from images where images_id=
(select Min(images_id) from images where images_id>=2)
N.B:这里2是你给出的'images_id'
答案 4 :(得分:-1)
您可以使用此
SELECT MAX(records) FROM images WHERE records < (SELECT MAX(records) FROM images)
看看这个并跑步,让我知道你是否需要不同的东西。