Посторінковий вивід інформації з бд (пагінатор)

PHP

Посторінковий вивід інформації з бд (пагінатор)

Як вивести інформацію з БД і розділити на сторінки?

Отже, бачив багато таких штук і всюди все по різному.
Вирішив викласти і свій погляд на це, щоб все було розібрано по кроках і дуже доступно.







Для початку встановимо кількість записів, що виводяться на сторінку.

Потім ми визначимося на якій сторінці знаходимося (в нашому випадку ми будемо передавати номер сторінки GET'ом).

Подивимося скільки всього у нас сторінок, щоб користувач не ввів нас тисячі п'ятсот вісімдесят дев'ять сторінку з 13 можливих







Для цього необхідно підрахувати кількість елементів всього:

А вже кількість сторінок з'ясовується нехитрим методом поділу всіх елементів на кол-во на сторінку і округляється в більшу сторону.

Тепер перевіримо щоб поточна сторінка не була менше 1 і не більше останньої сторінки

Отож, у $ page знаходиться номер нашої сторінки.

Для ліміту в нашому запиті, нам необхідно подстачітать перший оператор, який показує з якою записи ми зачинали робити вибірку

Усе! Запит складено:

У нашому пагінаторе ми не будемо виводити всі сторінки від 1. до 130 наприклад, а будемо виводити тільки сусідні по відношенню до поточної, наприклад якщо у нас обрана сторінка 9, то ми введемо зліва і праворуч від неї пределённое кількість сторінок, припустимо у нас це кількість дорівнюватиме 4.

Визначаємо крайнього лівого і правого сусідів

А як же нам вивести лісталку?

Ось ми і написали модний перемикач сторінок як на багатьох популярних сайтах.







Схожі статті