go\Pager

Решил собрать все маленькие дурацкие PHP-тулзы в одном месте: https://github.com/vasa-c/go-helpers.

И первым будет пагинатор.

Пример: https://blgo.ru/go/helpers/pager/.

Пагинируйте всё, что придёт в голову, не отрываясь от подушки!

goPaginator: отрисовка пагинатора

Начинаю раздел goLibs с выкладыванием простеньких вспомогательных классиков. Первым на очереди идёт goPaginator. Можно просмотреть исходный код или скачать ZIP.

Основная задача библиотеки — отрисовка пагинатора и помощь в выборки данных для текущей страницы. Простейший пример (более развёрнутый пример можно пощупать здесь):

/* Общее количество элементов в списке, разбиваемым на страницы */
$countElements = query('SELECT COUNT(*) FROM `table`');
if ($countElements == 0) {
	echo 'Список пуст';
	return;
}
 
$pager = new goPaginator($countElements); // Создаём объект пагинатора
 
echo $pager; // Выводим пагинатор сверху
 
/* Выборка и вывод элементов для текущей страницы */
$sql = 'SELECT * FROM `table` ORDER BY `id` ASC LIMIT '.$pager->getSqlLimits();
$elements = query($sql);
foreach ($elements as $element) { /* Выводим элементы */ }
 
echo $pager; // Пагинатор снизу

Остальной текст под катом