以前很可能已经问过这样的问题,但我想不出要搜索的术语。
我正在开发一个照片库应用程序,想要显示 9 个缩略图,显示当前显示的照片的上下文(在 3x3 网格中,当前照片位于中心,除非当前照片位于显示的前 4 张照片中) ,在这种情况下,例如,如果当前照片是第二张,我想选择照片 1 到 9)。例如,给定一个包含带有 id 的照片列表的相册:
1, 5, 9, 12, 13, 18, 19, 20, 21, 22, 23, 25, 26
如果当前照片是 19,我还想查看:
9, 12, 13, 18, 19, 20, 21, 22, 23
如果当前照片是 5,我还想查看:
1, 5, 9, 12, 13, 18, 19, 20, 21
我一直在思考以下内容:
SELECT *
FROM photos
WHERE ABS(id - currentphoto) < 5
ORDER BY id ASC
LIMIT 25
但在 id 不连续的情况下(如上例所示),或者当前照片之前没有足够照片的情况下,这不起作用。
有什么想法吗?
Thanks,
Dom
附注如果有任何不清楚的地方请发表评论,我会澄清问题。如果有人能想到一个更有用的标题来帮助其他人将来找到这个问题,那么也请发表评论。