..


Gesponsorde links

Paginering van de gegevens uit een MySQL-db

Artikel geschreven door Max Bossi

Zowel in onze gids voor PHP , die in vorige artikelen gewijd aan de taal, hebben we al gezien hoe te benutten op verschillende manieren de winnende combinatie PHP / MySQL.

Specifiek hebben we al gezien hoe om gegevens uit de DB halen, maar we hebben "vergeten" om een 'probleem' te pakken is heel gebruikelijk, namelijk: wanneer de records in de database zijn bijzonder talrijk, zoals je kunt ze onderverdelen in meerdere pagina's?

In dit artikel, in feite, zullen we zien hoe de paginering van een grote hoeveelheid gegevens binnen een bepaalde tabel in onze database.
Laten we een voorbeeld nemen: zeggen dat je een tabel met de naam schema bestaat uit slechts drie velden: id, naam en telefoonnummer, en zeggen dat deze tabel wordt gevuld met 100 records:

Zoals je kunt voorstellen dat het zou onpraktisch zijn om wil alle honderd records extract binnen een enkele pagina, veel comfortabeler zou zijn om ze te verwijderen door ze te delen in meerdere pagina's met een hoop records per stuk.
Om dat te doen, gebruiken we een handige functie inheemse MySQL LIMIT-functie die ons in staat stelt om te bepalen precies hoeveel en welke records te selecteren. Doen om haar werk LIMIT vereist twee parameters: het record van vertrek en het aantal records op te halen.

Laten we een praktisch voorbeeld te zien:






 <?







 / / Maak een variabele die het aantal records sets

 





 / / Om op elke pagina







 $ X_pag = 5;









 / / Haal de huidige paginanummer.







 / / In het algemeen gebruik van een querystring







 $ Pagina = $ _GET ['page'];









 / / Controleer of $ pagina is verbeterd ...







 / / ... Anders, ik wijs de waarde 1







 if ($ pagina) $ page = 1;

 







 / / Ik een verbinding met de database







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







 mysql_select_db ("db_name", $ conn);









 / / Gebruik mysql_num_rows om de rijen tellen in







 / / In de tabel Agenda







 $ All_rows = mysql_num_rows (mysql_query ("SELECT id FROM agenda"));









 / / Gebruik van een eenvoudige wiskundige bewerking noemen







 / / Het totaal aantal pagina's







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









 / / Berekening van welke record om te beginnen







 $ Eerste = ($ page - 1) * $ x_pag;









 / / Haal de records voor de huidige pagina ...







 / / Voor het gebruik van LIMIT $ van het eerste en tel tot $ x_pag







 $ R = mysql_query ("SELECT * FROM kalender LIMIT $ eerste, $ x_pag");







 $ Nee = mysql_num_rows ($ rs);







 if ($ nummer! = 0) {



  



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



    



 $ Row = mysql_fetch_assoc ($ rs);



    



 echo "<tr>";



    



 echo "<td>".

 



 $ Row ['id'].

 



 "</ Td>";



    



 echo "<td>".

 



 $ Row ['naam'].

 



 "</ Td>";



    



 echo "<td>".

 



 $ Row ['telefoon'].

 



 "</ Td>";



    



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



  



 }







 Else {}



  



 echo "Geen records gevonden!"







 }









 / / Als het totaal aantal pagina's meer dan een ...







 / / Mold op de link om heen en weer tussen de verschillende pagina!







 if ($ all_pages> 1) {



  



 if ($ pagina> 1) {



    



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



    





  



 }

 

  



 if ($ all_pages> $ pagina) {



    



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



    



 echo "Volgende pagina </ a>";



  



 }

 





 }









 / / Close verbinding met DB







 mysql_close ($ conn);







 ?>



De code is goed commentaar en daarom, denk niet dat er behoefte is aan nadere toelichting.

In dezelfde categorie ...
E-Learning
Linux (Cursus) Linux (Cursus)
Complete gids voor open-source systeem. Vanaf 49 €.
MySQL (Cursus) MySQL (Cursus)
Beheer van de open source database. Vanaf 39 €.
PHP (Cursus) PHP (Cursus)
Volledige cursus voor het maken van dynamische websites. Vanaf 49 €.
Gesponsorde links