..


Sponzorované odkazy

Stránkovania dát z MySQL db

Článok napísal Max Bossi

Obaja u nás sprievodca PHP , ktorý v predchádzajúcich článkoch venovaných jazyk, sme už videli, ako využiť rôznymi spôsobmi výhernú kombináciu PHP / MySQL.

Konkrétne sme už videli, ako získať dáta z DB, ale my sme "zabudli" na riešenie "problému" je veľmi časté, a to: keď sa záznamy v databáze sú obzvlášť početné, ako si môžete rozdeliť do viacerých stránok?

V tomto článku, v skutočnosti, uvidíme, ako urobiť stránkovanie veľkého množstva dát v rámci danej tabuľky v našej databáze.
Zoberme si príklad: Povedzme, že máte tabuľku s názvom schéma sa skladá z troch oblastí: id, meno a telefónne číslo, a hovoria, že táto tabuľka je naplnený 100 záznamov:

Ako si dokážete predstaviť, že by bolo nepraktické, že chce získať všetky sto záznamov v rámci jednej stránky, oveľa príjemnejšie by bolo odstrániť tým, že rozdelia do viacerých stránok s partiou záznamov každého.
K tomu používame užitočná funkcia natívny MySQL LIMIT funkciu, ktorá nám umožňuje presne určiť, koľko a záznamy, ktoré vybrať. Robiť svoju prácu LIMIT vyžaduje dva parametre: záznam o odchode a počet záznamov k načítaniu.

Pozrime sa na praktický príklad:






 <?







 / / Vytvorenie premennej, ktorá určuje počet záznamov

 





 / / Ak chcete zobraziť na každej stránke







 $ X_pag = 5;









 / / Načítať aktuálne číslo stránky.







 / / Všeobecne použiť QueryString







 $ Page = $ _GET ['strana'];









 / / $ Page Skontrolujte, či je lepšie ...







 / / ... Inak som sa priradiť hodnotu 1







 if ($ page) $ page = 1;

 







 / / Som sa pripojiť k databáze







 $ Conn = mysql_connect ("localhost", "user", "password");







 mysql_select_db ("DB_NAME", $ Conn);









 / / Použitie mysql_num_rows počítať riadky v







 / / V tabuľke agendy







 $ All_rows = mysql_num_rows (mysql_query ("SELECT ID z rokovania"));









 / / Pomocou jednoduché matematické operácie call







 / / Celkový počet stránok







 All_pages = $ ceil ($ all_rows / $ x_pag);









 / / Výpočet ktoré zaznamenávajú začať







 $ Prvni = ($ strana - 1) * $ x_pag;









 / / Načítať záznamy pre aktuálnu stránku ...







 / / Pri použití LIMIT $ z prvej a počítať až $ x_pag







 $ R = mysql_query ("SELECT * FROM kalendár LIMIT $ prvý, $ x_pag");







 $ No = mysql_num_rows ($ rs);







 if ($ číslo! = 0) {



  



 for ($ x = 0, $ x <$ n, $ x + +) {



    



 $ Row = mysql_fetch_assoc ($ rs);



    



 echo "<tr>";



    



 echo "<td>".

 



 $ Row ['id'].

 



 "</ Td>";



    



 echo "<td>".

 



 $ Row ['name'].

 



 "</ Td>";



    



 echo "<td>".

 



 $ Row ['telefón'].

 



 "</ Td>";



    



 echo "</ tr> </ table>";



  



 }







 Else {}



  



 echo "Neboli nájdené žiadne záznamy!"







 }









 / / Ak je celková stránky sú viac než 1 ...







 / / Formovať odkaz ísť tam a späť medzi rôznymi stránkami!







 if ($ all_pages> 1) {



  



 if ($ strana> 1) {



    



 echo "<a href=\"". $_SERVER['PHP_SELF']. "?pag=". $pag-1. "\">";



    





  



 }

 

  



 if ($ all_pages> $ page) {



    



 echo "<a href=\"". $_SERVER['PHP_SELF']. "?pag=". $pag + 1. "\">";



    



 echo "Next Page </ a>";



  



 }

 





 }









 / / Tesné spojenie s DB







 mysql_close ($ Conn);







 >



Kód je veľmi dobre skomentovanie, a preto si nemyslím, že je potrebné ďalšie vysvetlenie.

V rovnakej kategórii ...
E-Learning
Linux kurzu Linux kurzu
Kompletný sprievodca pre open-source systém. Od 49 €.
Kurz MySQL Kurz MySQL
Správa open-source databázu. Od 39 €.
PHP kurzu PHP kurzu
Celý kurz pre tvorbu dynamických webových stránok. Od 49 €.
Sponzorované odkazy