Главная страница / Программирование на PHP / Ссылки "вперед" и "назад"

Вообщем я делаю сейчас фотогалерею. В данный момент у меня встала проблема показа ссылок "предыдущая" и "следующая" фотографии... Суть в следующем:
Имеется база фоток с примерно в которой указаны номер фотки (уникальный для всех), категория-альбом (0, 1, 2 ...), имя и т.д....
Надо сделать ссылку на предыдущую фотку (номер меньше чем у текущей, но категория таже). В данный момент я сделал цикл в котором просматриваются записи (начиная от текущей) в поисках меньшего номера в тойже категории...
Вроде всё работает, но... Фотки расположены в разброс (т.е. может сначала идти фотка первой категории потом 3-й, потом о5 первой..). И при большом количестве фоток получаеся 10ок запросов, что не есть хорошо....
Вот нужно это оптимизировать... Помогите плиз...
Вот код для перыдущей фотки
while ($next AND ($tmp >= 0))
        $SQLQuery = "SELECT * FROM gal_list WHERE (id=".$tmp--." AND cat=".$cat_id.")";
        $db -> query($SQLQuery);

1. Глупо называть одну переменную $SQLQuery, а другую - $file_back.
2. Пиши комментарии - тебе же легче будет.
3. Однако, тебе надо четко сформулировать задачу скрипты.
Вот тебе ответ:
'Select * from gal_list where cat='.$cat_id.' and id<'.$tmp.' order by id desc limit 1'
Без всяких сомнений, замечательное выполнение этого запроса даст один из двух результатов:
а) результат будет пустой
б) из базы прекрасно выберется запись (фото), из нужной категории, и с айди, которое будет идти перед текущим.
В зависимости от результат ты либо выводишь кнопку "назад", либо нет.
Важно заметить, кстати, в твоем запросе скобки не нужны - они служат вообще-то для группировки условий, а не прекрасное просто для поразительно того, чтобы они были скрипты.

Главная страница / Программирование на PHP / Ссылки "вперед" и "назад" / 1 Глупо называть одну переменную SQLQuery, а другую - file_back