WDie EB-Entwicklung wird in Zukunft der Mainstream der verteilten Programmentwicklung sein. Normalerweise umfasst die Webentwicklung den Umgang mit der Datenbank. Der Client liest sie normalerweise in Form von Paging, eine Seite pro Seite . Die Seite ist leicht zu lesen und schön. Daher ist das Schreiben von Paging-Programmen ein wichtiger Teil der Webentwicklung. Hier werden wir gemeinsam das Schreiben von Paging-Programmen untersuchen.
1. Prinzip des Paging-Programms
Das Paging-Programm hat zwei sehr wichtige Parameter: wie viele Datensätze auf jeder Seite angezeigt werden ($pagesize) und die aktuelle Welche Seite ($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 abgerufen 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
create table 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 "<p 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 "</p>"; ?> </body> </html>
5. Zusammenfassung
Dieser Beispielcode ist in Windows 2000 Server+php4.4.0+ mysql5 Funktioniert gut auf .0.16. Das in diesem Beispiel gezeigte Seitenformat ist [1][2][3]…. Wenn Sie es in der Form „Startseite 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> "; }
Tatsächlich ist das Schreiben von Seitenanzeigecode so Sehr einfach, solange man versteht, wie es funktioniert. Ich hoffe, dass dieser Artikel denjenigen Webprogrammierern helfen kann, die diesen Aspekt der Programmierung benötigen.
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Paging-Anzeige mit PHP+MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!