我正在尝试制作一个图像数据库,该数据库没有保持一致的ID记录.例如,它可能行进1,2,6,7,12,但是您可以看到只有5行.
在表内部,我有fileid和filename.我创建了一个PHP脚本,以在提供文件ID时向我显示图像.但是,如果我给它提供不存在的ID 5,则会出现错误.可以,因为我想要一个错误,但对于使用前进和后退按钮浏览这些图像的用户而言,这不是很好.前进和后退按钮将需要检索在给定ID之后的真实文件ID.希望这是有道理的.
这就是我想象的代码看起来像的样子:
SELECT offset( WHERE fileid=4 )
那会给我fileid等于4的行的偏移量.我认为这很容易理解.我需要这样做的原因是为了创建前进和后退按钮.因此,我计划从偏移量中添加1或取1,从而获得新的ID和新的文件名.这样,当用户浏览时,它将自动跳过无效的ID值,但是在提供错误的ID时会出现错误.
解决方法:
往上走:
SELECT * FROM table WHERE id > 'your_current_id' ORDER BY id LIMIT 1;
下降:
SELECT * FROM table WHERE id < 'your_current_id' ORDER BY id DESC LIMIT 1;
ps:最好设置为LIMIT 2,这样,当仅返回一个记录时,您可以看到自己位于数据库的第一条记录或最后一条记录.
标签:offset,where,mysql,php
来源: https://codeday.me/bug/20191101/1986010.html