Имиджевый альбом. выбор не работает?

1

Я пытаюсь сделать альбом со следующим/предыдущим изображением. Первое изображение (инструкция else) показывает, но URL-адрес изображения не переключается, когда я нажимаю next/last. Как я могу это решить?

$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
    Вы забыли добавить ORDER BY в свои запросы, без него mySQL будет выдавать все, что найдет ниже или больше указанной даты, без сортировки.
  • 0
    Хм я не могу изменить изображение вообще после добавления этого
Показать ещё 3 комментария
Теги:
mysqli

1 ответ

1
Лучший ответ

Похоже, вы боретесь с более чем своим кодом, так что здесь мой подробный ответ.

У вас есть изображение с URL-адресом, например this /pictures/view/$id при загрузке этого изображения. Вам нужно будет запустить оба запроса, чтобы получить "Next", "Предыдущие" фотографии и передать их значения в представление, например: $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 фотография, то оба будут пустыми).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню