..


Рекламні посилання

Розбивка на сторінки даних з БД MySQL

Стаття, написана Максом Боссі

І в наш посібник з PHP , які в попередніх статтях, присвячених мові, ми вже бачили, як використовувати по-різному виграшну комбінацію PHP / MySQL.

Зокрема, ми вже бачили, як для отримання даних з БД, але ми «забули» для вирішення "проблеми" дуже часто, а саме: при записи в базі даних особливо численні, як ви можете розділити їх на кілька сторінок?

У цій статті, насправді, ми побачимо, як зробити розбиття на сторінки великого обсягу даних у цій таблиці, у нашій базі.
Давайте візьмемо приклад: у вас є таблиця з ім'ям графік складається всього з трьох полів: номер, ім'я та номер телефону, і сказати, що ця таблиця заповнюється 100 записів:

Як ви можете собі уявити, що було б непрактично хочу, щоб витягти всі сто записів в межах однієї сторінки, набагато зручніше було б, щоб видалити їх, розділивши їх на декілька сторінок з купою записів кожен.
Для цього ми використовуємо зручна функція рідної LIMIT MySQL функція, яка дозволяє точно визначити, скільки і які записи для вибору. Щоб виконати свою роботу LIMIT вимагає двох параметрів: запис вильоту і кількість видобутих записів.

Давайте подивимося, практичний приклад:






 <?







 / / Створюємо змінну, яка встановлює кількість записів

 





 / / Для відображення на кожній сторінці







 $ X_pag = 5;









 / / Отримуємо номер поточної сторінки.







 / / Зазвичай ви використовуєте рядок запиту







 $ Page = $ _GET ['сторінка'];









 / / Перевіряємо, якщо $ сторінці посилюється ...







 / / ... В іншому випадку, я привласнюю значення 1







 якщо ($ сторінці) $ сторінка = 1;

 







 / / Я підключитися до бази даних







 Конн $ = mysql_connect ("локальний", "користувач", "пароль");







 mysql_select_db ("db_name", $ сопп);









 / / Використання mysql_num_rows порахувати рядки в







 / / У таблиці порядку денного







 $ All_rows = mysql_num_rows (mysql_query ("SELECT ID з порядку денного"));









 / / Використання простих математичних операція виклику







 / / Загальна кількість сторінок







 All_pages = $ стелі ($ all_rows / $ x_pag);









 / / Розрахунок, які фіксують, щоб почати







 Перша $ = ($ сторінка - 1) * $ x_pag;









 / / Отримання записів для поточної сторінки ...







 / / Для використання LIMIT $ від першого і рахувати до $ x_pag







 $ Rs = mysql_query ("SELECT * FROM календар LIMIT $ по-перше, $ x_pag");







 $ Ні = mysql_num_rows ($ RS);







 якщо ($ номер! = 0) {



  



 для ($ х = 0; $ х <$ п $ х + +) {



    



 Рядок $ = mysql_fetch_assoc ($ RS);



    



 відлуння "<table> <tr>";



    



 відлуння "<td>".

 



 $ Рядки ["ID"].

 



 "</ TD>";



    



 відлуння "<td>".

 



 $ Рядки ['ім'я'].

 



 "</ TD>";



    



 відлуння "<td>".

 



 $ Рядки ['телефон'].

 



 "</ TD>";



    



 відлуння "</ TR> </ TABLE>";



  



 }







 Останнє {}



  



 відлуння "Записи не знайдені!"







 }









 / / Якщо всього сторінок більш ніж на 1 ...







 / / Форма посилання для переходу вперед і назад між різними сторінками!







 якщо ($ all_pages> 1) {



  



 якщо ($ сторінка> 1) {



    



 відлуння "<a href=\"". $_SERVER['PHP_SELF']. "?pag=". $pag-1. "\">";



    





  



 }

 

  



 якщо ($ all_pages> $ сторінці) {



    



 відлуння "<a href=\"". $_SERVER['PHP_SELF']. "?pag=". $pag + 1. "\">";



    



 відлуння "Наступна сторінка </>";



  



 }

 





 }









 / / Закрити підключення до DB







 mysql_close ($ сопп);







 ?>



Код добре прокоментовано і, отже, не думаю, що є необхідність у подальших пояснень.

У тій же категорії ...
E-Learning
Linux (курс) Linux (курс)
Повне керівництво по відкритим вихідним кодом системи. Починаючи з 49 €.
MySQL (курс) MySQL (курс)
Управління з відкритим вихідним кодом бази даних. Починаючи з 39 €.
PHP (курс) PHP (курс)
Повний курс для створення динамічних веб-сайтів. Починаючи з 49 €.
Рекламні посилання