1. Prinzip des Paging-Programms
Das Paging-Programm hat zwei sehr wichtige Parameter: wie viele Datensätze auf jeder Seite angezeigt werden ($pagesize) und welche Seite die aktuelle Seite ist ($page). Mit diesen beiden Parametern können wir ganz einfach ein Paging-Programm schreiben. Wir verwenden die MySQL-Datenbank als Datenquelle. Wenn Sie in MySQL einen bestimmten Inhalt aus der Tabelle entfernen möchten, können Sie die T-SQL-Anweisung verwenden * vom Tabellenlimit-Offset, zu erreichende Zeilen. Der Offset ist hier der Datensatz-Offset und seine Berechnungsmethode ist offset=$pagesize*($page-1), rows ist die Anzahl der anzuzeigenden Datensätze, hier ist $page. Mit anderen Worten bedeutet die Anweisung „select * from table limit 10,10“, dass die 20 Datensätze ab dem 11. Datensatz in der Tabelle herausgenommen werden.
2. Hauptcode-Analyse
$pagesize=10; //设置每一页显示的记录数 $conn=mysql_connect("localhost","root",""); //连接数据库 $rs=mysql_query("select count(*) from tb_product",$conn); //取得记录总数$rs $myrow = mysql_fetch_array($rs); $numrows=$myrow[0]; //计算总页数 $pages=intval($numrows/$pagesize); //判断页数设置 if (isset($_GET['page'])){ $page=intval($_GET['page']); } else{ $page=1; //否则,设置为第一页 }
3. Anwendungsfalltabelle myTable erstellen
Tabelle erstellen myTable(id int NOT NULL auto_increment,news_title varchar(50 ), news_cont text, add_time datetime, PRIMARY KEY(id))
4. Vollständiger Code
<html> <head> <title>php分页示例</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body> <?php $conn=mysql_connect("localhost","root",""); //设定每一页显示的记录数 $pagesize=1; mysql_select_db("mydata",$conn); //取得记录总数$rs,计算总页数用 $rs=mysql_query("select count(*) from tb_product",$conn); $myrow = mysql_fetch_array($rs); $numrows=$myrow[0]; //计算总页数 $pages=intval($numrows/$pagesize); if ($numrows%$pagesize) $pages++; //设置页数 if (isset($_GET['page'])){ $page=intval($_GET['page']); } else{ //设置为第一页 $page=1; } //计算记录偏移量 $offset=$pagesize*($page - 1); //读取指定记录数 $rs=mysql_query("select * from myTable order by id desc limit $offset,$pagesize",$conn); if ($myrow = mysql_fetch_array($rs)) { $i=0; ?> <table border="0" width="80%"> <tr> <td width="50%" bgcolor="#E0E0E0"> <p align="center">标题</td> <td width="50%" bgcolor="#E0E0E0"> <p align="center">发布时间</td> </tr> <?php do { $i++; ?> <tr> <td width="50%"><?=$myrow["news_title"]?></td> <td width="50%"><?=$myrow["news_cont"]?></td> </tr> <?php } while ($myrow = mysql_fetch_array($rs)); echo "</table>"; } echo "<div align='center'>共有".$pages."页(".$page."/".$pages.")"; for ($i=1;$i< $page;$i++) echo "<a href='fenye.php?page=".$i."'>[".$i ."]</a> "; echo "[".$page."]"; for ($i=$page+1;$i<=$pages;$i++) echo "<a href='fenye.php?page=".$i."'>[".$i ."]</a> "; echo "</div>"; ?> </body> </html>
5. Zusammenfassung
Dieses Beispiel Der Code läuft normal unter Windows2000 Server+php4.4.0+mysql5.0.16. Das in diesem Beispiel gezeigte Seitenformat ist [1][2][3]…. Wenn Sie es in der Form „Homepage Vorherige Seite Nächste Seite Letzte Seite“ anzeigen möchten, fügen Sie bitte den folgenden Code hinzu:
$first=1; $prev=$page-1; $next=$page+1; $last=$pages; if ($page > 1) { echo "<a href='fenye.php?page=".$first."'>首页</a> "; echo "<a href='fenye.php?page=".$prev."'>上一页</a> "; } if ($page < $pages) { echo "<a href='fenye.php?page=".$next."'>下一页</a> echo "<a href='fenye.php?page=".$last."'>尾页</a> "; }
Webentwicklung ist der Mainstream verteilter Programme Die Entwicklung in der Zukunft umfasst normalerweise den Umgang mit der Datenbank. Der Client liest sie vom Server und zeigt sie normalerweise in Form von Seiten an. Das Lesen ist sowohl bequem als auch schön. Daher ist das Schreiben von Paging-Programmen ein wichtiger Teil der Webentwicklung.
Verwandte Empfehlungen:
Eine einfache Implementierung des einfachsten PHP-Paging-Codes
Ein universeller PHP-Paging-Klassen-Beispielcode
Beispielcode für PHP-Paging (kann geändert und direkt verwendet werden)
Das obige ist der detaillierte Inhalt vonSo schreiben Sie PHP-Paginierungscode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!