..
І в наш посібник з PHP , які в попередніх статтях, присвячених мові, ми вже бачили, як використовувати по-різному виграшну комбінацію PHP / MySQL.
Зокрема, ми вже бачили, як для отримання даних з БД, але ми «забули» для вирішення "проблеми" дуже часто, а саме: при записи в базі даних особливо численні, як ви можете розділити їх на кілька сторінок?
У цій статті, насправді, ми побачимо, як зробити розбиття на сторінки великого обсягу даних у цій таблиці, у нашій базі.
Давайте візьмемо приклад: у вас є таблиця з ім'ям графік складається всього з трьох полів: номер, ім'я та номер телефону, і сказати, що ця таблиця заповнюється 100 записів:

Давайте подивимося, практичний приклад:
<?
/ / Створюємо змінну, яка встановлює кількість записів
/ / Для відображення на кожній сторінці
$ 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 ($ сопп);
?>
Код добре прокоментовано і, отже, не думаю, що є необхідність у подальших пояснень.
| |
Linux (курс)
Повне керівництво по відкритим вихідним кодом системи. Починаючи з 49 €. |
| |
MySQL (курс)
Управління з відкритим вихідним кодом бази даних. Починаючи з 39 €. |
| |
PHP (курс)
Повний курс для створення динамічних веб-сайтів. Починаючи з 49 €. |