SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 06.01.2009 14:03:04

mahmud
Участник
Зарегистрирован: 27.11.2008
Сообщений: 6

выборка следующего значения

Существует база картинок (id, name). Вывожу перечень картинок, при нажатии на тумбу открывается большая. Нужно сделать кнопки предыдущая и следующая. Как можно организовать выборку из базы предыдущей и следующей картинки?
Возможен вариант добавить просто доп поле в базе например sid и для каждой новой картинки записывать на 1 больше, чем максимальное значение в этом поле. Но может есть более красивое решеине?

Неактивен

 

#2 06.01.2009 19:58:11

mahmud
Участник
Зарегистрирован: 27.11.2008
Сообщений: 6

Re: выборка следующего значения

решил эту задачу, правда муторно и грузно:

$max = $this->db->select_max('id')->get('foto')->row_array();
$max = $max['id'];
$id_next = $id+1;
$test_next = '';
while (!$test_next) {
    if ($id_next > $max) break;
    $test_next = $this->db->select('id')->where("id", $id_next)->get('foto')->row_array();
    $id_next++;
}
$min = $this->db->select_min('id')->get('foto')->row_array();
$min = $min['id'];
$id_preview = $id-1;
$test_preview = '';
while (!$test_preview) {
       if ($id_preview < $min) break;
       $test_preview = $this->db->select('id')->where("id", $id_preview)->get('foto')->row_array();
       $id_preview--;
}
       
if (isset($test_next['id'])) $data['next'] = $test_next['id'];
else $data['next'] = '';
if (isset($test_preview['id'])) $data['preview'] = $test_preview['id'];
else $data['preview'] = '';

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson