..
И у нашем Водич за ПХП , што у претходним чланцима посвећен језику, већ смо видели како да искористе на различите начине добитну комбинацију ПХП / МиСКЛ.
Конкретно смо већ видели како издвајање података из ДБ-а, али смо "заборавили" да се обрати "проблем" је врло уобичајено, и то: када евиденције у бази података су посебно бројни, као што можете да их подели на више страница?
У овом чланку, у ствари, ми ћемо видети како да пагинацији велике количине података у датом табела у нашој бази података.
Узмимо пример: да имате сто се зове план се састоји од само три поља: ИД, име и број телефона, и рећи да је ово сто је насељена са 100 евиденције:

Хајде да видимо практичан пример:
<?
/ / Креирање променљиве које одређује број записа
/ / Да бисте приказали на свакој страници
$ Кс_паг = 5;
/ / Преузми тренутни број странице.
/ / Генерално се користи Куеристринг
$ Паге = $ _ГЕТ ['страна'];
/ / Провера да ли $ страница је побољшан ...
/ / ... Иначе, да доделим вредност 1
иф ($ страна) $ страна = 1;
/ / Да се повежем са базом података
$ Кон = мискл_цоннецт ("лоцалхост", "корисник", "лозинку");
мискл_селецт_дб ("дб_наме", $ цонн);
/ / Користи мискл_нум_ровс за пребројавање редова у
/ / У табели Агенде
$ Алл_ровс = мискл_нум_ровс (мискл_куери ("СЕЛЕЦТ ид са дневног реда"));
/ / Користећи једноставну математицку операцију позив
/ / Укупан број страна
Алл_пагес = $ ставити плафон ($ алл_ровс / $ к_паг);
/ / Обрачун који снимају да почне
$ Први = ($ страна - 1) * $ к_паг;
/ / Преузми записе за тренутну страницу ...
/ / За коришћење РОК $ од првог и бројим до $ к_паг
$ Рс = мискл_куери ("СЕЛЕЦТ * ФРОМ календар ЛИМИТ $ први, $ к_паг");
$ Не = мискл_нум_ровс ($ РС);
иф ($ број = 0) {
фор ($ к = 0; $ к <$ н $ к + +) {
$ Ров = мискл_фетцх_ассоц ($ РС);
ецхо "<табле> <тр>";
ецхо "<тд>".
$ Ров ['ид'].
"</ Тд>";
ецхо "<тд>".
$ Ров ['име'].
"</ Тд>";
ецхо "<тд>".
$ Ров ['телефонски'].
"</ Тд>";
ецхо '</ тр> </ табле> ";
}
Елсе {}
ецхо "Но рецордс фоунд!"
}
/ / Ако укупан странице су више од 1 ...
/ / Ливени везу да иде напред и назад између различитих страница!
иф ($ алл_пагес> 1) {
иф ($ страна> 1) {
ецхо "<а хреф=\"". $_СЕРВЕР['ПХП_СЕЛФ']. "?паг=". $паг-1. "\">";
}
иф ($ алл_пагес> $ страна) {
ецхо "<а хреф=\"". $_СЕРВЕР['ПХП_СЕЛФ']. "?паг=". $паг + 1. "\">";
ецхо "Следећа страна </ а>";
}
}
/ / Блиску везу са ДБ
мискл_цлосе ($ повез);
>?
Код је добро коментарисао и, према томе, не мислим да постоји потреба за додатно објашњење.
| |
Линук (курс)
Комплетан водич за опен-соурце система. Полазећи од 49 €. |
| |
МиСКЛ (курс)
Управљање опен соурце базу података. Полазећи од 39 €. |
| |
ПХП (курс)
Цео курс за креирање динамичких веб сајтова. Полазећи од 49 €. |