ONO*_*NOZ 2 php mysql sql database
我想在php + mysql中制作一个照片库.
URL viewphoto.php?id = 143显示照片143.在导航菜单中,我想显示该相册中的前两张照片以及接下来的两张照片.
我想过使用:
$temp_id = $id - 2;
mysql_query("SELECT id, photo FROM photos WHERE album = {$album} AND id >= {$temp_id} LIMIT 5");
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为来自不同专辑的照片可能会在所查看的照片之前和之后有ID.
有谁知道我怎么做到这一点?
谢谢.
使用id对图片进行排序是一个坏主意.想象一下你删除一张图片.你的照片链将被打破.为了解决这个问题,你需要更改id列,这是一个更糟糕的想法.
在一个专辑中使用单独的索引列进行排序.在删除图片的情况下,可以轻松地重建该索引.
或者您在表格中定义"上一个"和"下一个"列.然后,这将包含上一张和下一张图片的ID.如果图片被删除,您只需要为上一张和下一张图片更改这些列.
使用这两种方法,您可以使用嵌套的自联接来访问上一张和下一张图片.如果您需要帮助,请评论此帖子.