..
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:

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.
| |
Linux (Cursus)
Complete gids voor open-source systeem. Vanaf 49 €. |
| |
MySQL (Cursus)
Beheer van de open source database. Vanaf 39 €. |
| |
PHP (Cursus)
Volledige cursus voor het maken van dynamische websites. Vanaf 49 €. |