我试图用下一张/上一张图片制作一张专辑。第一个图像(else语句)显示但是当我按next / last时图像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'];
}
答案 0 :(得分:1)
看起来你正在努力解决的问题超过你的代码,所以这里是我的详细答案。
在加载此图片时,您有一个包含此/pictures/view/$id
的网址的图片,您需要同时运行这两个查询才能获得&#39;下一页&#39;上一页&# 39;图片&amp;将他们的值传递给视图,例如:$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
表示下一个&amp;对于之前的另一个......这些值不应该始终可用(当你在第一张图像上没有上一张&当你在那里的最后一张图像时#&#; 39; s没有下一个,如果用户只有1张图片,则两者都是空的。