图片相册.选择不起作用


Image album. the select doesnt work?

我试图用下一个/上一个图像制作相册。显示第一个图像(else语句(,但是当我按下一个/最后一个时,图像URL没有切换。我该如何解决这个问题?

$next= $_POST['next'];
$last= $_POST['last'];
if($last== "last" ){
  $result=mysqli_query($con, "SELECT * FROM album WHERE user_id='$id' AND (time_added>'$time') ORDER BY time_added DESC LIMIT 1");
  $row=mysqli_fetch_array($result);
  $time = $row['time_added']; //Y-m-d H:i:s
  $url = $row['img_url'];
}
else if($next== "next"){
  $result=mysqli_query($con, "SELECT * FROM album WHERE user_id='$id' ORDER BY time_added DESC AND (time_added<'$time') LIMIT 1");
  $row=mysqli_fetch_array($result);
  $time = $row['time_added'];
  $url = $row['img_url'];
}
else{
  $result=mysqli_query($con, "SELECT * FROM album WHERE user_id='$id' ORDER BY time_added DESC LIMIT 1");
  $row=mysqli_fetch_array($result);
  $url = $row['img_url'];
  $time = $row['time_added'];
}

看起来你正在努力解决的不仅仅是你的代码,所以这是我的详细答案。

加载此图像时,您有一个带有类似 url /pictures/view/$id的图像,您需要运行这两个查询以获取"下一个"、"上一个"图片并将其值传递给视图,例如:$data['Next'] = $this->pictures_model->get_next($id);

现在在你的视图中,当你显示图片时,你将继续添加类似的东西

<?php if ( ! empty($Next) ) echo anchor("pictures/view/{$Next->id}", "Next"); ?>

这不需要您使用 POST 方法,也不需要任何额外的努力,因为您使用的机制与显示当前图像的机制相同,以显示下一个或上一个图像。

至于你的查询;你需要添加顺序,以获得最接近的图像,这些图像有一个current image date > date < current image date一个用于下一个,另一个用于前一个......这些值不应始终可用(当您在第一张图像上时,没有上一个图像,当您在最后一个图像上时,没有下一张图像,如果用户只有 1 张图片,则两者都为空(。