Листние страниц
http://prosto.pp.ru
Часто при выводе длинных списков
возникает потребность показать их на нескольких
страницах. Ниже приводится один из способов
решения этой задачи.
В кратце идея. Любая выборка элементов
списка для отображения основывается на каких-то
критериях отбора записей. Требуемый номер
страницы и критерии отбора каждый раз передаются
модулю отображения, который принимает их по
методу GET или POST и производит отображение порции
информации. При реализации листания страниц
обычно возникает задача передачи параметров.
Предлагаемая реализация позволяет
особо не задумываться о передаче параметров-критериев
от одной страницы к другой, т.к. это производится
автоматически.
При вызове страницы автоматически
определяется метод используемый для передачи
параметров. В зависимости от метода формируется
таблица для навигации по страницам и
соответствующий механизм перехода на выбираемую
страницу. Для метода GET - вызов с передачей
параметров в строке запроса; для POST -
соответствующая форма. Все параметры
использованные при вызове собираются и
вставляются в соответствующие реализации
переходов.
Пример использования при работе с БД
приведен в качестве коментария. Предполагается,
что RecordSet открыт с использованием CursorType=1 (adOpenKeyset).
При работе с массивами используйте
процедуру SetPageList для передачи количества записей.
Число записей на одной странице может
регулироваться изменением значения переменной
PageSize.
Формируемый список страниц
обязательно включает номер первой и последней
страницы. Номера остальных страниц включаются в
список в зависимости от номера текущей страницы.
Вокруг номера текущей страницы обязательно
присутствуют номера нескольких соседних с ней.
Пример: 1,2,3,4...12; 1...7,8,9...12.
Предполагается что код вставляется в
текст как файл include.
Загрузите Модуль Листания Страниц