Ergebnisse Paginieren MySQL mit PHP hat eine Reihe von Vorteilen. Erstens, es beschleunigt die MySQL-Abfrage , wie es gibt nur eine kleine Anzahl der Ergebnisse. Zweitens verbessert es die Erfahrung des Benutzers , da es eine überschaubare Anzahl der Ergebnisse pro Seite zeigt . Drittens , es spart Bandbreite, indem nicht benötigte Senden Ergebnisse . Aus diesen Gründen haben viele Websites , wie Google, Yahoo und WordPress, seine Verwendung angenommen. Um MySQL Paginierung verwenden , müssen Sie die SQL "LIMIT "-Befehl und die " GET "-Parameter in der URL zu verwenden. Anleitung
1
Erstellen Sie eine Tabelle " Telefonbuch " in Ihrer MySQL-Datenbank mit den Spalten "id ", "name " und " Telefon ". Füllen Sie die Tabelle mit ein paar Einträge . Hier sind die SQL-Abfragen für das Erstellen und Füllen der Tabelle jeweils :
CREATE TABLE Telefonbuch ( `id ` int ( 11) NOT NULL AUTO_INCREMENT , `name ` varchar ( 100) NOT NULL , ` Telefon ` varchar ( 20) NOT NULL , PRIMARY KEY ( `id ` ) );
INSERT INTO Telefonbuch ( `name `, ` Telefon ` ) VALUES ( 'Jack' , '201 - 379 bis 5406 '), ( ' Jake ' , '331 - 123 bis 5196 '), ( 'John' , '222 - 342 bis 3250 ');
2
erstellen Sie eine neue Datei " pagination.php " und öffnen Sie sie mit einem Text Editor wie Notepad. Schreiben Sie ein Segment des Codes, um Ihre MySQL-Server verbindet , mit PHP " mysql_connect "-Funktion und wählt die Datenbank mit der " Telefonbuch "-Tabelle mit PHP " mysql_select_db "-Funktion . Hier ist ein Beispiel :
mysql_connect ( 'localhost' , 'admin' , 'password' );
mysql_select_db ('test ');
Ersetzen Sie die vier Saiten mit Ihren Hostnamen , Benutzernamen, Kennwort und Datenbank sind.
3
schreiben Segment der Code, der die Variable " $ rowsPerPage " setzt , um die Anzahl der Zeilen , die pro Seite angezeigt werden soll, setzt " $ currentPage " auf die Seite über " $ _GET ['page '] " oder null , wenn keiner angefordert und setzt " $ offset " auf den Offset von denen die Datensätze aus der Datenbank , die durch Subtrahieren einer von " $ currentPage " berechnet holen und Multiplizieren mit " $ rowsPerPage . " Hier ist ein Beispiel :
$ rowsPerPage = 5;
$ currentPage = (( isset ($ _GET ['page '] ) && $ _GET ['page '] > 0) ? (int) $ _GET ['page '] : 1) ;
$ offset = ($ currentPage -1) * $ rowsPerPage ;
4
schreiben Codezeile ruft " $ rowsPerPage " Zeilen ab der Offset eingestellt in " $ offset " aus der Tabelle " Telefonbuch " durch Ausführen einer "SELECT "-Abfrage via PHP " mysql_query "-Funktion und speichert das Ergebnis in einer neuen Variable . Hier ist der Code :
$ result = mysql_query ('SELECT * FROM Telefonbuch LIMIT ' $ Offset ',' $ rowsPerPage . . . );
5
schreiben ", während" Schleife, die die Zeilen aus der Abfrage Ergebnismenge ", $ result , " mit PHP " mysql_fetch_assoc " -Funktion ruft und zeigt sie in einer Liste oder Tabelle . Hier ist ein Beispiel :
echo '
ID | Bezeichnung | Telefonnummer | < ;/tr > ';
while ($ row = mysql_fetch_assoc ($ result )) {
echo'
' . $ row [ 'id' ] . ' | ' . $ row [ 'name'] . ' ' . $ row [' Telefon '] . '
'; }
echo '
';
6
schreiben Codesegments das ruft die Anzahl der Einträge in der Tabelle durch die Ausführung eines " COUNT "-Abfrage via PHP " mysql_query "-Funktion berechnet die Anzahl der Seiten , indem die Anzahl der Einträge durch den " $ rowsPerPage " variable und Rundung nach oben und speichert das Ergebnis in einem Variable " $ TotalPages . " Hier ist der Code :
$ result = mysql_query ('SELECT COUNT (*) AS Anzahl FROM Telefonbuch ');
$ row = mysql_fetch_assoc ($ result );
$ TotalPages = ceil ( $ row [ 'count' ] /$ rowsPerPage );
7
schreiben zwei "if" -Anweisungen : eine, die eine " Vorherige Seite " Link zeigt und eine, die ein "Weiter zeigt Seite "-Link , wenn die jeweilige Seite existiert ( das heißt, wenn " $ currentPage " größer als eins für" Vorherige Seite "und wenn " $ currentPage "ist größer als " $ TotalPages " für" Nächste Seite " ) . Hier ist der Code :
if ($ currentPage > 1) {
echo ' Vorherige Seite < /a > '; }
if ($ currentPage < $ TotalPages ) {
echo' Nächste Seite '?' ($ currentPage +1) . . '; }