Pagination на php
Колись я писав статтю про створення навігації по сторінках. У цій статті я розповідав, як отримати набір даних з таблиці БД, відповідної обраної користувачем сторінці. У цій же статті ми розберемо висновок Pagination на PHP. Pagination - це список самих сторінок. В Інтернеті є різні варіанти, але всі вони страждають одним - величезна кількість коду для створення нескінченного числа варіантів. Але Вам хіба потрібна нескінченність? Вам потрібен тільки 1 варіант, який і буде стояти на сайті. У цій статті ми з Вами створимо відносно складний pagination, але при цьому коду буде зовсім небагато.
щоб створити Pagination на PHP, нам необхідно мати на вході кілька параметрів:
Відео: # 8.14 Експерт PHP: Додаткові уроки. пагінація №1
- count_pages - кількість сторінок.
- active - поточна активна сторінка.
- count_show_pages - кількість відображуваних сторінок. Наприклад, якщо буде 1000 сторінок, то вивести їх все досить проблемно. Тому відображатися буде тільки задану кількість в цьому параметрі.
- url - адреса сторінки, для якої і створюється Pagination.
- url_page - адреса сторінки з параметром page без значення на кінці. Наприклад, "/abc.php?func=createpage=".
Тепер ми можемо створювати Pagination, ось так це виглядає на PHP:
lt ;?php
/ * Вхідні параметри * /
$ count_pages =50-
$ active =15-
$ count_show_pages =10-
$ url ="/index.php"-
$ url_page ="/index.php?page="-
if($ count_pages gt;1){// Все це тільки якщо кількість сторінок більше 1
/ * Далі йде обчислення першої виведеної сторінки і останньої (щоб поточна сторінка була десь посередині, якщо це можливо, і щоб загальна сума виведених сторінок дорівнювала count_show_pages, або менше, якщо кількість сторінок недостатньо) * /
$ left = $ active -1-
$ right = $ count_pages - $ active-
if($ left lt; floor($ count_show_pages /2)) $ start =1-
else $ start = $ active - floor($ count_show_pages /2) -
$ end = $ start + $ count_show_pages -1-
if($ end gt; $ count_pages){
$ start -=($ end - $ count_pages) -
$ end = $ count_pages-
if($ start lt;1) $ start =1-
}
?gt;
id="Pagination"gt;
сторінки:
lt ;?php if($ active !=1){?gt;
lt;? =$ url?gt;"Title =" Перша сторінка "gt; lt-lt-lt-
lt ;?php if($ active ==2){?gt; lt;? =$ url?gt; lt ;?php }else{?gt; lt;? =$ url_page.($ active -1)? Gt; lt ;?php }?gt;"Title =" попереднє "gt; lt-
lt ;?php }?gt;
lt ;?php for($ i = $ start- $ i lt; = $ end- $ i++){?gt;
lt ;?php if($ i == $ active){?gt;lt;? =$ i?gt;lt ;?php }else{?gt; lt ;?php if($ i ==1){?gt; lt;? =$ url?gt; lt ;?php }else{?gt; lt;? =$ url_page.$ i?gt; lt ;?php }?gt;"Gt;lt;? =$ i?gt;lt ;?php }?gt;
lt ;?php }?gt;
lt ;?php if($ active != $ count_pages){?gt;
lt;? =$ url_page.($ active +1)? Gt;"Title =" Наступна сторінка "gt; gt-
lt;? =$ url_page.$ count_pages?gt;"Title =" Остання сторінка "gt; gt-gt-gt-
lt ;?php }?gt;
lt ;?php }?gt;
Відразу скажу, що коду хоч і трохи, але він досить складний для новачків. Року 3 назад я витратив дуже багато часу, щоб зробити щось подібне і тоді коду вийшло рази в 2 більше.
Відео: Create Pagination in PHP and MySQL
А далі можна цей Pagination через CSS прикрашати так, як Ви побажаєте. Можна і верстку змінити при бажанні (наприклад, замість кутових дужок "Попередня сторінка"І аналогічних поставити красиві картинки), головне, не чіпати PHP-код.
Ось такий дуже зручний Pagination реалізований на цьому сайті, а так само на деяких моїх інших сайтах.
- Вийшов відеокурс "створення інтернет-магазину на php і mysql"
- Синій екран смерті 0x0000004d
- Синій екран смерті 0x000000eb
- Синій екран смерті 0x000000f3
- Синій екран смерті 0x000000fd
- Як пронумерувати сторінки в word.
- Як створити голосування на сайті
- Як зробити дизайн для сайту
- Як вирівняти по центру блок змінної ширини.
- Як пронумерувати сторінки в excel 2003
- Як зробити візуальний редактор на jаvascript
- Як зробити коментування на сайті
- Як зробити тестування на сайті
- Як пронумерувати сторінки в excel 2007 і 2010
- Вийшла книга "створення сайту від початку і до кінця"
- Яндекс.браузер - це браузер, створений компанією яндекс на базі chromium
- Заробіток на продажі посилань
- jаvascript
- Css
- Використання tpl-файлів
- Навігація по сторінках на php