Heim > Artikel > Backend-Entwicklung > Beispiel für die Implementierung des Paging-Effekts durch PHP
Ich glaube, dass meine Freunde mit Paging in unserer PHP-Entwicklung vertraut sind, egal ob es sich um eine Unternehmenswebsite oder ein Einkaufszentrum handelt. Die gesamte Hintergrundverwaltung ist untrennbar mit dem Paging verbunden. Man kann sagen, dass der Paging-Effekt bei PHP-Webseiten üblich ist. Wie können wir jedoch Paging erreichen? Heute haben wir zwei Methoden angewendet, um den Paging-Effekt zu erzielen.
Zuerst müssen wir eine Tabelle in der Datenbank vorbereiten und Daten einfügen Dies sind alles notwendige Voraussetzungen, wie im Bild gezeigt (der Name der Bibliothek). jereh, Tabellenname ist n_content):
Schrittanalyse:
Wenn wir brauchen Beim Paging müssen Sie „select * from tableName limit num1,num2“ verwenden; dies ist eine begrenzte Abfrageanweisung, gefolgt von zwei Parametern, num1 ist die Nummer, ab der mit der Suche begonnen werden soll, num2 ist die Anzahl der zu durchsuchenden Informationen , Zum Beispiel möchte ich drei Daten 2, 3 und 4 finden, wie in der Abbildung unten gezeigt
Okay, fangen wir an mit den Schritten:
1. Erstellen Sie eine Funktion zur Implementierung der Funktion zur Begrenzung von Abfragen.
Um diese Funktion zu implementieren, müssen wir zunächst die aktuelle Anzahl kennen Anzahl der Seiten und wie viele Informationen wir auf einer Seite begrenzen möchten. Dies kann mithilfe formaler Parameter übergeben werden. Dann legen wir pageNum auf die Anzahl der Seiten und pageSize fest, um mehrere Teile davon anzuzeigen Daten auf einer Seite. In der Abfrageanweisung „select * from tableName limit num1,num2“ ist
num1 (pageNum-1)*pageSize und num2 ist pageSize zu handhaben. Der Code ist unten
//分页的函数 function news($pageNum = 1, $pageSize = 3) { $array = array(); $coon = mysqli_connect("localhost", "root"); mysqli_select_db($coon, "jereh"); mysqli_set_charset($coon, "utf8"); // limit为约束显示多少条信息,后面有两个参数,第一个为从第几个开始,第二个为长度 $rs = "select * from n_content limit " . (($pageNum - 1) * $pageSize) . "," . $pageSize; $r = mysqli_query($coon, $rs); while ($obj = mysqli_fetch_object($r)) { $array[] = $obj; } mysqli_close($coon,"jereh"); return $array; }
2. Erstellen Sie eine zweite Funktion, um die Gesamtzahl der Seiten anzuzeigen
Es gibt keine neuen Wissenspunkte, es sind alles zuvor geschriebene Wissenspunkte, schauen Sie sich einfach den Code an
//显示总页数的函数 function allNews() { $coon = mysqli_connect("localhost", "root"); mysqli_select_db($coon, "jereh"); mysqli_set_charset($coon, "utf8"); $rs = "select count(*) num from n_content"; //可以显示出总页数 $r = mysqli_query($coon, $rs); $obj = mysqli_fetch_object($r); mysqli_close($coon,"jereh"); return $obj->num; }
Wir möchten die Ergebnisse der nächsten Seite erhalten und die nächste Seite verwenden Methode zum Übertragen von Daten auf dieser Seite. Wenn wir dann die Seite aktualisieren, werden die Daten definitiv nicht abgerufen, sodass wir Trinokular-Arithmetik verwenden müssen. Schauen Sie sich den Code an
<?php @$allNum = allNews(); @$pageSize = 3; //约定每页显示的信息条数 @$pageNum = empty($_GET["pageNum"])?1:$_GET["pageNum"]; @$endPage = ceil($allNum/$pageSize); //总页数 @$array = news($pageNum,$pageSize); ?>
Wenn auf der Seite angezeigt, müssen Sie eine foreach-Schleife verwenden. Der Code ist einfach, siehe unten
<table border="1" style="text-align: center" cellpadding="0"> <tr> <td>编号</td> <td>新闻标题</td> <td>来源</td> <td>点击率</td> <td>发布日期</td> </tr> <?php foreach($array as $key=>$values){ echo "<tr>"; echo "<td>{$values->id}</td>"; echo "<td>{$values->title}</td>"; echo "<td>{$values->src}</td>"; echo "<td>{$values->indexs}</td>"; echo "<td>{$values->times}</td>"; echo "</tr>"; } ?> </table>
Um den Effekt des Seitensprungs zu erzielen, müssen wir das href-Attribut des a-Tags verwenden und die Adresse lautet „?pageNum =“. ...“ Diese pageNum wird von uns selbst definiert. Da sie von get übergeben wird, haben wir im vorherigen Schritt $_GET verwendet, um die Parameter zu akzeptieren, sodass wir nur die get-Parameter übergeben müssen;
Homepage : "pageNum=1";
Vorherige Seite: "pageNum=e1b6f215196c4979f9f0e1cb688abc95"
Nächste Seite: " pageNum=f553790c507e90e08c0eb9b215912451"
Letzte Seite: "pageNum=4e03b1d3755baa7ed7a00b4afc79d138 ";
Besonderes Augenmerk sollte darauf gelegt werden, dass nach „pageNum=" keine Leerzeichen stehen dürfen. Der Code lautet wie folgt
<a href="?pageNum=1">首页</a> <a href="?pageNum=<?php echo $pageNum==1?1:($pageNum-1)?>">上一页</a> <a href="?pageNum=<?php echo $pageNum==$endPage?$endPage:($pageNum+1)?>">下一页</a> <a href="?pageNum=<?php echo $endPage?>">尾页</a>
Der Gesamtcode lautet wie folgt:
分页 <table border="1" style="text-align: center" cellpadding="0"> <tr> <td>编号</td> <td>新闻标题</td> <td>来源</td> <td>点击率</td> <td>发布日期</td> </tr> <?php foreach($array as $key=>$values){ echo "<tr>"; echo "<td>{$values->id}</td>"; echo "<td>{$values->title}</td>"; echo "<td>{$values->src}</td>"; echo "<td>{$values->indexs}</td>"; echo "<td>{$values->times}</td>"; echo "</tr>"; } ?> </table><a href="?pageNum=1">首页</a> <a href="?pageNum=<?php echo $pageNum==1?1:($pageNum-1)?>">上一页</a> <a href="?pageNum=<?php echo $pageNum==$endPage?$endPage:($pageNum+1)?>">下一页</a> <a href="?pageNum=<?php echo $endPage?>">尾页</a>
Zusammenfassung: Daher müssen wir Daten zur Anzeige haben Daten in der Datenbank, daher muss jeder vorsichtig vorgehen!
Verwandte Empfehlungen:
Beispiele für Paging-Prinzipien in PHP
So implementieren Sie die PHP-Hintergrundtabellen-Paging-Funktion
Das obige ist der detaillierte Inhalt vonBeispiel für die Implementierung des Paging-Effekts durch PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!