我有一个存储图片网址和其他数据的数据库,我想要一个图库来显示它们,但由于该网站是公开的,我可能想要删除一些图像。当用户上传图像源和标题时,它将使用自动增量唯一ID插入到数据库中。当前脚本仅在ID中添加或减去1以显示下一个或上一个图像。有没有更好的方法呢? 我目前的剧本:
function image_control($id){
$next=$id+'1';
$prev=$id-'1';
$query = "SELECT MAX(id), MIN(id) FROM mp_images";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
$max = $row['MAX(id)']; $min = $row['MIN(id)'];
}
if($next==$max+"1"){$next=$min;} if($prev==$min-"1"){$prev=$max;}
echo "<a href='".$next."'>Next Image</a> <a href='".$prev."'>Previous Image</a>";
}
这种失败的一个例子是ID为3,4,5,7,8的图像。
答案 0 :(得分:5)
获取下一个id的一些伪代码:
$nextId = SELECT id FROM mp_images WHERE id > $currentId ORDER BY id ASC LIMIT 1
if ( no results )
// no next image
以及前一个:
$prevId = SELECT id FROM mp_images WHERE id < $currentId ORDER BY id DESC LIMIT 1
if ( no results )
// no previous image
如果没有下一张图片(例如你可以获取第一张图片)或者没有上一张图片(你在第一张图片上),这取决于你该做什么。