Предыдущая и последующая запись в запросе!

Cover Story

Новичок
Предыдущая и последующая запись в запросе!

Всем доброго!
Задача следующая! Вывожу запись из запроса на страницу, необходимо чтобы на этой же странице, были ссылки на предыдущую и последующие записи?
Как сделать ума не приложу!
Заранее спасибо!
 

bober

Guest
может возьми ид запись отними от него или добавь к нему 1 и сылку сделай чтобы полученные парпметры передать
 

Фанат

oncle terrible
Команда форума
bober, ВЫДЫХАЙ!
И не кури столько больше.

Cover Story
Прикладывать тут нечего. делаешь еще два поисковых запроса, только делаешь еще одно условие и лимит 1
 

Cover Story

Новичок
А можно через курсор! Сначала определяем место положения данной записи например mysql_data_seek($query, $i), затем вывод предыдущей mysql_data_seek($query, $i-1) и следующей mysql_data_seek($query, $i+1). Только как определить $i для этой записи???
 

Фанат

oncle terrible
Команда форума
Вот именно. осталось определить.

Способ особого значения не имеет.
главное, по ссылке на конкретную запись, передавать и все параметры запроса.
А там запрашивать тот же поиск, только ограниченный по краям - где поле сортировки больше текущего, меньше текущего, лимит 3.
 

Cover Story

Новичок
Извини фанат тебя не много не понимаю!
Думаю так...

Я создаю селект потом через цикл с помощью if'а ищу то что нужно затем использую свой mysql_data_seek.
 

Фанат

oncle terrible
Команда форума
и что - чтобы показать одну запись, перелопачивать всю базу?
 

Cover Story

Новичок
Тогда может этот диапазон (три записи) get'ом передавать с одной страницы на другую?
 

Фанат

oncle terrible
Команда форума
чтобы что-то передать, надо это что-то сначала запросить
 

Cover Story

Новичок
У меня есть такой запрос:
SELECT id, file, author FROM mcgallery WHERE file='".$image."'"
при этом запросе выводится одна запись
Но как взять в запрос предыдущую и последующую не пойму :(
 

idencial

Одинаковый
нужная запись
PHP:
select * from tablename where id='$id'
следующая запись
PHP:
select * from tablename where id>'$id' order by id LIMIT 1
предыдущая запись
PHP:
select * from tablename where id<'$id' order by id desc LIMIT 1
 

Фанат

oncle terrible
Команда форума
Cover Story
Никак.
В этом запросе нет никаких ни предыдущих, ни следующих. Они все в куче.

idencial
не тупи.
 

Cover Story

Новичок
<b>idencail</b>
id не идут по порядку уникальные нормера, но файлы на которые ссылается база лежат в разных папках я специально упростил запрос.
 

idencial

Одинаковый
2 Фанат
Я писал свой пост когда не видел запроса
PHP:
SELECT id, file, author FROM mcgallery WHERE file='".$image."'"
Я не подозревал, что человек вытаскивает картинку не по id

-~{}~ 05.10.04 13:30:

Блин, опять писал, не видя предыдущего поста =)

2 Cover Story
У тебя должно быть поле, по которому ты будешь выяснять кто следующий, а кто предыдущий

Проще всего по уникальному id
По крайней мере я при добавлении картинки присваиваю ей уникальный id, а дальше нет проблем

Зачем ты мудришь, непонятно
 

Фанат

oncle terrible
Команда форума
Я не подозревал, что человек вытаскивает картинку не по id
ВОТ ИМЕННО ПОЭТОМУ и не надо было лезть писать свой запрос.

-~{}~ 05.10.04 13:35:

Cover Story
Тебе все еще что-то не ясно?
Если у тебя в запросе есть порядок, то найти следующую запись легко.
Если нету порядка - не отнимай, пожалуйста, время ни у себя, ни у других.
 

Cover Story

Новичок
ID есть в базе, дело в том чтобы его добавить необходимо еще паруфайлов перековырять с различными функциями хотя идея не плоха. Спасибо!
 

alexhemp

Новичок
Cover Story
Вообще-то использование cуррогатного автоинкрементного ключа - это нормальная практика, там где нет естественного простого ключа...
 

Фанат

oncle terrible
Команда форума
одного я не могу понять - с чего все эти советчики решили, что ему обязательно нужно сортировать по id
что сортировать МОЖНО только по id, и никак иначе.
Что вообще задача показа "предыдущий следующий" КАК-ТО завязана на id
 

voituk

прозревший
Фанат
Ну это уже интимное дело каждого, а по id сортируют примера ради.
Если у кого-то другое определение полного или частичного порядка (например по дате), то флаг ему в руки ветер в спину ... и тд, главное что принцип пояснили.
 
Сверху