Pagination на php

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 реалізований на цьому сайті, а так само на деяких моїх інших сайтах.

Поділися в соціальних мережах:

Схожі
Як зробити тестування на сайтіЯк зробити тестування на сайті
Як вирівняти по центру блок змінної ширини.Як вирівняти по центру блок змінної ширини.
Як пронумерувати сторінки в excel 2007 і 2010Як пронумерувати сторінки в excel 2007 і 2010
Синій екран смерті 0x000000f3Синій екран смерті 0x000000f3
Як зробити коментування на сайтіЯк зробити коментування на сайті
Вийшла книга "створення сайту від початку і до кінця"Вийшла книга "створення сайту від початку і до кінця"
CssCss
Як створити голосування на сайтіЯк створити голосування на сайті
Синій екран смерті 0x000000ebСиній екран смерті 0x000000eb
Яндекс.браузер - це браузер, створений компанією яндекс на базі chromiumЯндекс.браузер - це браузер, створений компанією яндекс на базі chromium
» » Pagination на php