..
Både i vår guide till PHP , som i tidigare artiklar ägnas åt språk, vi har redan sett hur man kan utnyttja på olika sätt den vinnande kombinationen PHP / MySQL.
Närmare bestämt har vi redan sett hur man extraherar data från DB, men vi har "glömt" att lösa ett "problem" är mycket vanligt, nämligen när posterna i databasen är särskilt många, som du kan dela in dem i flera sidor?
I den här artikeln i själva verket kommer vi att se hur man gör sidnumrering av en stor mängd data i en viss tabell i vår databas.
Låt oss ta ett exempel: Säg att du har en tabell som kallas schema består av endast tre fält: id, namn och telefonnummer, och säga att denna tabell är befolkade med 100 poster:

Låt oss se ett praktiskt exempel:
<?
/ / Skapa en variabel som anger antal poster
/ / För att visa på varje sida
$ X_pag = 5;
/ / Hämta det aktuella sidnumret.
/ / Generellt du använder en QueryString
$ Page = $ _GET ['sida'];
/ / Kontrollera om $ sida är bättre ...
/ / ... Annars tilldelar jag värdet 1
if ($ sida) $ page = 1;
/ / Jag ansluter till databasen
$ Conn = mysql_connect ("localhost", "användare", "lösenord");
mysql_select_db ("db_name", $ conn);
/ / Använd mysql_num_rows att räkna rader i
/ / I tabellen agendan
$ All_rows = mysql_num_rows (mysql_query ("SELECT id FROM agenda"));
/ / Med en enkel matematisk operation ringa
/ / Det totala antalet sidor
All_pages = $ tak ($ all_rows / $ x_pag);
/ / Beräkning av som registrerar att starta
$ Första = ($ sida - 1) * $ x_pag;
/ / Hämta poster för den aktuella sidan ...
/ / För att använda LIMIT $ från första och räkna upp till $ x_pag
$ Rs = mysql_query ("SELECT * FROM kalender på $ först $ x_pag");
$ Nej = mysql_num_rows ($ rs);
if ($ rad! = 0) {
för ($ x = 0; $ x <$ n $ x + +) {
$ Row = mysql_fetch_assoc ($ rs);
echo "<table> <tr>";
echo "<td>".
$ Rad ['id'].
"</ Td>";
echo "<td>".
$ Rad ['name'].
"</ Td>";
echo "<td>".
$ Rad ['telefon'].
"</ Td>";
echo "</ tr> </ table>";
}
Else {}
echo "Hittade inga skivor!"
}
/ / Om den totala sidorna är mer än 1 ...
/ / Mögel på länken för att gå fram och tillbaka mellan olika sidor!
if ($ all_pages> 1) {
if ($ sida> 1) {
echo "<a href=\"". $_SERVER['PHP_SELF']. "?pag=". $pag-1. "\">";
}
if ($ all_pages> $ sida) {
echo "<a href=\"". $_SERVER['PHP_SELF']. "?pag=". $pag + 1. "\">";
echo "Nästa sida </ a>";
}
}
/ / Nära anslutning till DB
mysql_close ($ conn);
?>
Koden är väl kommenterade och därför inte tror att det finns ett behov av ytterligare förklaring.
| |
Linux (Kurs)
Komplett guide till öppen källkod-system. Från 49 €. |
| |
MySQL (Kurs)
Hantering av öppen källkod databas. Från 39 €. |
| |
PHP (Kurs)
Fullständig kurs för att skapa dynamiska webbplatser. Från 49 €. |