2012-04-24 4 views
0

В настоящее время я использую PHP PEAR для простой разбивки на страницы. Кто-нибудь имеет рекомендуемый метод или пример того, как записывать записи на страницу в существующем представлении результатов? Типичная модель будет что-то вроде этого:Pagination in result view

Search -> Results -> View Record 

С пейджинга возможно только на странице результатов ... Что я спрашиваю о том, способность страницы в «View Record», а также. Таким образом, у вас будет возможность легко перейти к следующей (или предыдущей) записи в результирующем наборе во время просмотра записи. Очевидно, я мог передать состояние записи и переменные разбиения на страницы с страницы результатов на страницу просмотра, но мне было интересно, был ли более элегантный способ сделать это. Любая идея или рекомендации? Благодаря!

ответ

1

Я не думаю, что код PAR-кода PEAR поможет вам здесь.

Предполагая, что на странице «Просмотреть запись» есть параметр строки запроса RecordID, вы можете создать ссылки Prev и Next на вашей странице «Просмотреть запись». Для того, чтобы получить предыдущие и последующие записи, вы можете использовать SQL заявления, как это:

PREV - SELECT RecordID FROM records WHERE RecordID < '" . $CurrRecordID . "' ORDER BY RecordID DESC LIMIT 1

СЛЕДУЮЩИЙ - SELECT RecordID FROM records WHERE RecordID > '" . $CurrRecordID . "' ORDER BY RecordID ASC LIMIT 1

Если страница Результаты сортирует по-разному, соответственно изменится.

0

Я выяснил, как это сделать, используя разбиение на страницы PEAR. Чтобы проверить это, я продублировал страницу результатов поиска, расширил набор записей и вытащил всю подробную информацию на странице «Просмотр записи». В основном, на моей странице с повторяющимися результатами отображались данные View Records, а не поля результатов поиска. Затем я ограничил результаты разбивки на страницы до 1 записи на страницу. Чтобы связать его с исходной страницей результатов поиска, я передал номер страницы на дублируемую страницу. Мне пришлось компенсировать его, вычислив, на какой странице был установлен результирующий набор. Таким образом, идентификатор страницы будет точно отражать номер результата. Если я возвращал 20 записей на страницу, и я был на странице 2 набора результатов ... Я знал, что первой записи в результате понадобится идентификатор страницы 21. 21.