Постраничная навигация с использованием PHP и MySQL

Применять на сайтах постраничную разбивку стали практически сразу при появлении динамических сайтов. Применение постраничной навигации позволяет сделать контент сайтов не только более приятным для восприятия, но и уменьшает нагрузку на сервер (при огромном объеме записей). Наиболее частое применение постраничной разбивки используется на форумах, информационных порталах и т.д. Для осуществления постраничной разбивки я представляю вам класс pager.

Настройка происходит по следующей схеме.
На первом этапе необходимо подключить к модулю сам класс:
require_once (‘pager.class.php‘);

Далее необходимо создать объект класса перед запросом для выборки:

$Pagination = new Pagination($ShowCountItem, $Length);
  • $ShowCountItem – количество записей на странице;
  • $Length – длина навигационной панели (количество ссылок).

Пример инициализации:

$Pagination = new Pagination(4, 4);

Далее сам запрос:

mysql_query("SELECT SQL_CALC_FOUND_ROWS title FROM records ORDER BY id ASC
	" . $Pagination->GetLimit(), $connect_id);

Обратите внимание на опцию в запросе SQL_CALC_FOUND_ROWS. В итоге запрос с включенной этой опцией вернет число записей удовлетворяющих условиям выборки. Эту опция имеет смысл указывать, только тогда, когда в запросе участвует оператор LIMIT.

Следующим шагом необходимо вывести навигационную панель. Делается это при написании следующего кода:

echo $Pagination->ShowPaginationControl();

Вот собственно и все. Скачать класс pager и демо пример можно отсюда.

Разбивка контента на страницы