Jos*_*ase 1 php mysql controls gallery
我有一个存储图像网址和其他数据的数据库,我想要一个图库来显示它们,但因为该网站是公共的,我可能想要删除一些图像.当用户上传图像源和标题时,它将使用自动增量唯一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>";
}
Run Code Online (Sandbox Code Playgroud)
这种失败的一个例子是ID为3,4,5,7,8的图像.
获取下一个id的一些伪代码:
$nextId = SELECT id FROM mp_images WHERE id > $currentId ORDER BY id ASC LIMIT 1
if ( no results )
// no next image
Run Code Online (Sandbox Code Playgroud)
对于前一个:
$prevId = SELECT id FROM mp_images WHERE id < $currentId ORDER BY id DESC LIMIT 1
if ( no results )
// no previous image
Run Code Online (Sandbox Code Playgroud)
如果没有下一个图像(例如,您可以获取第一个图像)或没有上一个图像(您在第一个图像上),由您决定该怎么做.