PHP-Paginierung
-
Verwenden Sie die
LIMIT
-Klausel mit derSELECT
-Anweisung inSQL
, um die Zeilen in PHP zu paginieren -
Fügen Sie die Navigationsfunktionen
Previous
undNext
in der Paginierung in PHP hinzu
Dieser Artikel stellt eine Methode vor, um eine Paginierung in PHP durchzuführen, die die LIMIT
-Klausel mit der SELECT
-Anweisung in SQL
verwendet. Wir verwenden die LIMIT
-Klausel, um die bestimmte Anzahl von Zeilen, die von einem bestimmten Index beginnen, auszuwählen, die als Paginierung angezeigt werden sollen.
Wir werden auch eine andere Methode demonstrieren, um die Navigationsfunktionen Zurück
und Weiter
in die PHP-Paginierung einzufügen. Diese Methode fügt der ersten Methode nur die zusätzliche Funktion hinzu, um auf den entsprechenden Seiten zu navigieren.
Verwenden Sie die LIMIT
-Klausel mit der SELECT
-Anweisung in SQL
, um die Zeilen in PHP zu paginieren
Wir können die LIMIT
-Klausel mit der SELECT
-Anweisung verwenden, um die ersten n Ergebnisse anzugeben, die auf einer Seite angezeigt werden sollen. Wir können die Seitennummer im anchor
-Tag als GET
-Methode zum Durchsuchen der Seiten angeben. Bei dieser Methode definieren wir die Anzahl der anzuzeigenden Zeilen pro Seite und rufen alle Zeilen aus der Datenbank ab, um die erforderliche Gesamtseitenzahl zu berechnen. Wir können das Array $_GET
mit der Funktion isset()
verwenden, um die vom Benutzer angeforderte Seitennummer zu erhalten.
Erstellen Sie zum Beispiel eine Variable $results_per_page
und speichern Sie 2
darin. Verwenden Sie die Funktion mysqli_num_rows()
, um die Anzahl der Zeilen in der Datenbank zu ermitteln und in der Variablen $number_of_results
zu speichern. Verwenden Sie die Funktion ceil()
, um die Gesamtzahl der Seiten zu bestimmen, die für die Anzeige der Zeilen erforderlich sind. Teilen Sie die Variable $number_of_results
durch die Variable $results_per_page
innerhalb der Funktion ceil()
. Verwenden Sie die superglobale Variable $_GET
mit der Funktion isset()
, um zu überprüfen, ob die Variable page
gesetzt wurde. Falls nicht gesetzt, setzen Sie die Variable $page
auf 1
. Wenn die Variable gesetzt wurde, weisen Sie den Wert der Variablen $page
zu. Subtrahiere die Variable $page
mit 1
und multipliziere sie mit der Variablen $this_page_first_result
. Speichern Sie die Operation in der Variablen $this_page_first_result
. Schreiben Sie eine SQL
-Anweisung mit LIMIT
-Klausel als SELECT * FROM alpha LIMIT ' . $this_page_first_result . ',' . $results_per_page.
Führen Sie die Abfrage aus und zeigen Sie die Ergebnisse an. Erstellen Sie am Ende eine for
Schleife, um zwischen der Variablen $page
und der $number_of_page
zu schleifen. Innerhalb der Schleife echo
das anchor
-Tag und schreibe den Wert des href
-Attributs als index.php?page'.$page
. Schreiben Sie zwischen die Tags anchor
die Variable $page
.
Im folgenden Beispiel enthält die Tabelle alpha
in der Datenbank sechs Zeilen. Nach der Paginierung werden pro Seite zwei Zeilen angezeigt. Die Funktion ceil()
bestimmt die Gesamtzahl der Seiten, die zum Anzeigen der Zeilen benötigt werden. Anfänglich ist die Variable $page
nicht gesetzt, die Seite beginnt also mit Seite 1. Die Variable $this_page_first_result
bestimmt die Seitennummer, auf der sich der Benutzer gerade befindet. Die Variablen $this_page_first_result
bezeichnet die erste Zeile der Seite. Die Variable $results_per_page
bezeichnet die Anzahl der Ergebnisse pro Seite. Der Ausgabebereich zeigt die Seite index.php
an. Beim Anklicken auf Seite 2
gibt es die nächsten beiden Zeilen aus der Datenbank aus.
Beispielcode:
#php 7.x
<?php
$number_of_pages = ceil($number_of_results/$results_per_page);
if (!isset($_GET['page'])) {
$page = 1;
} else {
$page = $_GET['page'];
}
$this_page_first_result = ($page-1)*$results_per_page;
$sql='SELECT * FROM alpha LIMIT ' . $this_page_first_result . ',' . $results_per_page;
$result = mysqli_query($con, $sql);
while($row = mysqli_fetch_array($result)) {
echo $row['id'] . ' ' . $row['value']. '<br>';
}
for ($page=1;$page<=$number_of_pages;$page++) {
echo '<a href="index.php?page=' . $page . '">' . $page . '</a> ';
}
?>
Ausgabe:
1 A
2 B
1 2 3
Fügen Sie die Navigationsfunktionen Previous
und Next
in der Paginierung in PHP hinzu
Wir können dem Codebeispiel in der ersten Methode einige zusätzliche Codeschnipsel hinzufügen, um die Navigationsfunktionen Previous
und Next
in der Paginierung bereitzustellen. Wir können die Variable $page
um 1 inkrementieren und dekrementieren, um auf die vorherige und die nächste Seite zu zeigen. Wir können die inkrementierten und dekrementierten Variablen im anchor
-Tag verwenden, um die Funktionen Next
und Previous
zu erreichen.
Erstellen Sie beispielsweise zwei Variablen, $prev
und $next
. Subtrahieren Sie die Variable $page
mit eins und weisen Sie die Operation der Variablen $prev
zu. Fügen Sie auf ähnliche Weise eine der Variablen $page
hinzu und weisen Sie sie der Variablen $next
zu. Echo eines anchor
-Tags mit der Aufschrift Previous
direkt vor der for
-Schleife der Seitenzahlen. Schreiben Sie den Wert index.php?page=' . $prev .
im Attribut href
des Tags anchor
. Erstellen Sie auf die gleiche Weise ein weiteres anchor
-Tag für Next
, indem Sie die Variable $next
als Wert von page
im Attribut href
verwenden.
Im Ausgabeabschnitt unten wird die zweite Seite angezeigt. Ein Klick auf Previous
führt zur ersten Seite und ein Klick auf Next
bringt Sie zur dritten Seite.
Beispielcode:
# php 7.x
<?php
$prev = $page -1;
$next = $page +1;
echo ' <a href="index.php?page=' . $prev . '"> Previous </a> ';
for ($page=1;$page<=$number_of_pages;$page++) {
echo '<a href="index.php?page=' . $page . '">' . $page . '</a> ';
}
echo ' <a href="index.php?page=' . $next . '"> Next </a> ';
?>
Ausgabe:
3 C
4 D
Previous 1 2 3 Next
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn