Переход на предыдущую и последующую страницу

Статус
В этой теме нельзя размещать новые ответы.
Переход на предыдущую и последующую страницу

В первый раз делаю фотогалерею.

На странице выводятся иконки. При клике по иконке переходим на страницу,
показывающую фотку. Там есть кнопки назад - на предыдущую фотку - и вперед - на следующую.

Вопрос в том, какой запрос выбрать для показа фотографии, чтобы в моем распоряжении были id предыдущей и последующей фотки.

Можно выбрать все фотографии и в цикле найти нужную. Но при этом, мне кажется, выбирается
слишком много избыточной информации.
Можно передать id предыдущей и последующей фотки с предыдущей страницы.

Как правильнее? Есть, я уверен, более простое решение.

Если укажите на поиск, пожалуйста, по каким критериям искать. Я ничего не нашел.
 
Фотки именуются по id. При этом совсем не обязательно, что минус один даст нужный id, поскольку id минус один может принадлежать другой галерее.

К тому же нет ответа на вопрос, выбирать из БД ВСЕ фотки галереи при выводе одной (что решает приблему) - это вообще правильно?
 

Mozart

Новичок
Никто и не говорит про минус 1... Фоты из другой галлереи отсеиваются правильным запросом...
Зачем выбирать все и как это решит проблему?
 

rotoZOOM

ACM maniac
Каким образом осуществляется выборка фотографий одной фотогаллереи ? Так же наверняка существует порядок отображения фотографий (ORDER). Тогда LIMIT и OFFSET вам в руки.
 
Выборка фотографий выполняется на странице с ORDER и другими примочками.
Кликая на конкретной фотке гетом передается id фотографии на другую страницу.
Что? Передавать на эту страницу еще и id пред- и после- фоток?
Или выбирать на странице, отображающей ОДНУ фотку всю галерею с определением предыдущей и последующей?

-~{}~ 18.02.07 21:03:

Автор оригинала: Mozart
Никто и не говорит про минус 1... Фоты из другой галлереи отсеиваются правильным запросом...
Зачем выбирать все и как это решит проблему?
То есть на странице с ОДНОЙ фоткой надо строить запрос, выбирающий ВСЕ фотки галереи?
Если так, то проблем нет.
Думал, что проще можно.

-~{}~ 18.02.07 21:04:

Автор оригинала: Эдуард
Выборка фотографий выполняется на странице с ORDER и другими примочками.
Кликая на конкретной фотке гетом передается id фотографии на другую страницу.
Что? Передавать на эту страницу еще и id пред- и после- фоток?
Или выбирать на странице, отображающей ОДНУ фотку всю галерею с определением предыдущей и последующей?

-~{}~ 18.02.07 21:03:


То есть на странице с ОДНОЙ фоткой надо строить запрос, выбирающий ВСЕ фотки галереи (не всех галерей)?
Если так, то проблем нет.
Думал, что проще можно.
-~{}~ 18.02.07 21:05:

Автор оригинала: Эдуард
Выборка фотографий выполняется на странице с ORDER и другими примочками.
Кликая на конкретной фотке гетом передается id фотографии на другую страницу.
Что? Передавать на эту страницу еще и id пред- и после- фоток?
Или выбирать на странице, отображающей ОДНУ фотку всю галерею с определением предыдущей и последующей?

То есть на странице с ОДНОЙ фоткой надо строить запрос, выбирающий ВСЕ фотки галереи?
Если так, то проблем нет.
Думал, что проще можно.

-~{}~ 18.02.07 21:04:
 

Фанат

oncle terrible
Команда форума
зачем выбирать всю галарею, если тебе нужен единственный айдишник?
 
Автор оригинала: Эдуард
Выборка фотографий выполняется на странице с ORDER и другими примочками.
Кликая на конкретной фотке гетом передается id фотографии на другую страницу.
Что? Передавать на эту страницу еще и id пред- и после- фоток?
Или выбирать на странице, отображающей ОДНУ фотку всю галерею с определением предыдущей и последующей?

То есть на странице с ОДНОЙ фоткой надо строить запрос, выбирающий ВСЕ фотки галереи?
Если так, то проблем нет.
Думал, что проще можно.
-~{}~ 18.02.07 21:06:

Глюк

-~{}~ 18.02.07 21:08:

Автор оригинала: Фанат
зачем выбирать всю галарею, если тебе нужен единственный айдишник?
Мне нужен кроме айдишника, идентифицирующего фотку, айдишники предыдушей и последующей фотки.
Передавать их из списка фоток с предыдущей страницы или определять, выбрав всю галерею на странице,
которая выводит одну единственную фотку?
 

Oldwin

Новичок
Автор оригинала: Эдуард
Можно передать id предыдущей и последующей фотки с предыдущей страницы.
Как ты собрался передавать id последующей фотки с предыдущей страницы?
 

Фанат

oncle terrible
Команда форума
мляаааааа
зачем выбирвать всю галерею, если тебе нужно всего ДВА айдишника?
Ты ответ rotoZOOM читал?
 
Автор оригинала: rotoZOOM
Каким образом осуществляется выборка фотографий одной фотогаллереи ? Так же наверняка существует порядок отображения фотографий (ORDER). Тогда LIMIT и OFFSET вам в руки.
Пожалуйста, поясните, каким образом LIMIT и OFFSET мне помогут выбрать предыдущую и последующую строку из таблицы:

=======================
Galery_id photo_id Другие столбцы
1------------- 1 ...
1------------- 2 ...
2------------- 3 ...
1------------- 4 ...
1------------- 5 ...
=======================

Единственный известный параметр - photo_id.
В OFFSET, насколько мне известно, задается, с какой позиции выбирать строки.
А в моем случае позиция заранее неизвестна.

Если задавать в WHERE значение photo_id, выведется только одна строка.
Если WHERE не задавать, то выведется вся галерея с неизвестной позицией нужного photo_id
в ней.
 

Фанат

oncle terrible
Команда форума
можно писать < и >
эти значки означают "больше" и "меньше", как нас учили в школе
 
Ты в своем амплуа.:)
Если я напишу WHERE photo_id="нужный мне айди" AND photo_id <"нужный мне айди" AND photo_id >"нужный мне айпи" и поставлю limit, будет нужный результат?
 

hermit_refined

Отшельник
Эдуард
если у вас нет бд, чего тут голову морочите?..
если есть - почему сами не проверите?..
 
hermit_refined
Начинается.
Спасибо большое...
Вы лучше не вылезали бы из раздела для профессионалов.
 

AmdY

Пью пиво
Команда форума
Спокойно, не сортесь.
можно так, только первый запрос возможно лишний
SELECT id FROM `usr` WHERE id="нужный мне айди"
UNION select max(id) FROM `usr` WHERE id<"нужный мне айди"
UNION select min(id) FROM `usr` WHERE id>"нужный мне айди"
 
По крайней мере год назад был.

Я могу пробовать до умопомрачения.
На дело срочно надо закончить.
Понятно, что здесь принято не готовые решения давать, а наводящие.
А написать, как было бы правильно, просто неприлично, что ли.

Ну да ладно. Буду пробовать по-всякому.

-~{}~ 19.02.07 19:05:

Автор оригинала: AmdY
Спокойно, не сортесь.
можно так, только первый запрос возможно лишний
SELECT id FROM `usr` WHERE id="нужный мне айди"
UNION select max(id) FROM `usr` WHERE id<"нужный мне айди"
UNION select min(id) FROM `usr` WHERE id>"нужный мне айди"
Вот здесь хоть есть, что пробовать.
ОК, мерси, сейчас проверю.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху