Посторінковий вивід даних на php і mysql
Зараз багато сайтів використовують для зберігання інформації бази даних, в яких кількість записів часто досягає сотень і тисяч. Тому, для зручності користувачів, записи виводяться порціями, тобто посторінково. У цій статті я розповім як реалізувати це на своєму сайті за допомогою PHP і MySQL. У наведеному прикладі будуть виводитися посилання "вперед" і "назад", "на першу сторінку" і "на останню сторінку", а також ми зможемо обмежити кількість посилань, які будуть виводитися одночасно.
Як працює посторінковий вивід інформації
Для початку я обьясню принцип роботи посторінкового виведення, а потім ми розглянемо готовий приклад. Так як на одній сторінці має бути певна кількість записів, то ми обмежимо його в запиті до бази даних за допомогою параметра LIMIT, а параметр OFFSET буде вказувати з якою записи починати висновок. Наприклад обмежимо кількість записів по дві на кожній сторінці і почнемо висновок з першої сторінки (тобто з нульовою записи).
Для виведення другої сторінки нам потрібно збільшити значення параметра OFFSET на кількість записів, тобто на два.
Оскільки значення параметра OFFSET постійно змінюється, то ми кількість записів дамо змінної $ quantity, а номер з якого потрібно починати висновок ми будемо визначати, множачи номер сторінки на кількість записів, і привласнювати змінній $ list, а потім підставимо все це в запит.
Для того, щоб вивести навігацію для переходу між сторінками нам потрібно дізнатися загальна кількість записів в базі MySQL і поділити результат на кількість сторінок, округливши отримане число в більшу сторону. Давайте від теорії перейдемо до практики.
Насамперед створимо файл config.inc.php, який буде з'єднуватися з базою даних MySQL. Ми будемо підключати його в усі скрипти, в яких потрібно робити запити до БД.
Щоб було на чому випробувати скрипт посторінкового виведення, ми створимо за допомогою install.php таблицю в базі даних MySQL і додамо туди сім записів.
Як прибрати непотрібні вам функції
Я в коді виділив два блоки. Перший з них реалізує висновок посилань "назад" і "на першу сторінку". Другий, відповідно, "вперед" і "на останню сторінку". Якщо подібні можливості вам не потрібні, то просто видаліть дані блоки коду. Також в прикладі обмежена кіль посилань які виводяться до і після поточної сторінки, щоб не заповнювати ними все вікно браузера. Якщо вам це не потрібно, то поміняйте значення змінної $ limit на число, яке більше кількості сторінок, наприклад, 3000.
Декілька порад
Розміщуючи на своєму сайті посилання на першу сторінку ставте її відразу на postranichno.php? Page = 1, а не просто на postranichno.php. Обидва варіанти дадуть однаковий результат, але перший буде більш правильним вибором.
Інші записи по темі в розділі статті по PHP і MySQL