5.3.3.3 PHP中數據分頁的實現體生
&nb路線sp; 在Web開(kāi)發(fā)中經(跳外jīng)常遇到的一個問題就(jiù)是對(duì)影間大量數據進(jìn)行分頁顯示。如一雜錯個留言闆有數千條留言,如果這(zhè)些留言全都(dōu)顯對們示在一個頁面(miàn)上,頁月舊面(miàn)將(jiāng)變得很大,有時(shí)過(guò)大的離訊頁面(miàn)還(hái)會(huì)科飛導緻浏覽器停止響應。PHP中提供了非常簡單方法對(duì)數據進綠子(jìn)行分頁。
爲了更好(hǎo)的說(shuō)但有明分頁的作用,先向(xiàng)te雪就sttable表中插入大量的數據。修綠林改5-3.php,把控制插入條數的“for($i=1;$i<6鐘玩;$i )”修改爲“for($i=1;$i<100;$i大音 )”,執行此程序之後(hòu),數據庫中便會(huì)插入99條數據。吃草這(zhè)時(shí)再運行5-男妹4.php,會(huì)發(fā)現99條數據全部城來顯示在一頁内。
在5-4.php的基礎上,爲此程序增加分頁功能(néng),具體線但代碼如下:
1: <!--文件5-5.ph空喝p:用PHP實現數據分頁-->
2: <HTML>
3:  購制; <HEAD>
4: &白黃nbsp; <TITLE>用PHP實現數據分頁<拍她/TITLE>
5: </HE低文AD>
6: <BODY>地很
7:  美農; <?php不明
8: &n朋區bsp; &nbs科煙p;  聽自; $id=mysql_co河視nnect("localhost","ro白鄉ot","roo哥林t");
9: &nb暗志sp; &nb草兒sp; mysql_sele秒地ct_db("newdata&qu紅鐘ot;,$id);
10: &n美人bsp; 輛你 $query=&qu跳議ot;SELECT * FROM testta慢街ble";
11: 到刀 &nb算和sp; $result=mysql_query($query,藍睡$id);
12: 來你 &請近nbsp; $dat報跳anum=mysql_num_rows影媽($result);
13: &n但理bsp; &小匠nbsp; $page_id=間民$_GET["page_id頻又"];
14: &nb時暗sp; 音子 if ($page_id==""子錯){
15: &n照窗bsp; &nb短書sp; 能森 $page_id=1;
16: &n水科bsp;  去黃; }
17: &n短爸bsp; &nb資她sp; $page_si鐘窗ze="15"; &nb她照sp; &n知跳bsp; //定義每頁顯示小呢條數
18: 作見  玩花; &n村花bsp; $page_num=c好文eil($datanum/$page_size);&nbs請遠p;
19: &nbs窗鐵p; &n國服bsp; ?>
20: &nbs市城p; 表testtable中共有<她醫;?php echo $datanum;?&間熱gt;條數據<br>
21: &nb請窗sp; &nb秒湖sp; 每頁<?php echo $page_吧少size;?>條,共<?php ech喝新o $page_num;?>頁。<br>
22: 舊坐 <?php
23: &n黑答bsp; &nb木內sp; fo還兵r ($i=1;$i<=$page_nu他河m;$i ){
24: &nbs科數p; &人愛nbsp; &n妹見bsp; echo &quo樂站t;[<a href=?page_id=&上的quot;.$i.">".$i.&quo就小t;</a>]";
25: &還信nbsp; }
26: 讀街 $start=慢商($page_id-1)*$page_size;
27: &nb商問sp; &n白音bsp; $query2="SELECT * FROM tes河睡ttable limit $start,$page_size讀動";
28: &說術nbsp; &遠秒nbsp; $re樹音sult2=mysql_query($query2,$i器鐘d);
29: &nbs房要p; ?>
30: &劇一nbsp; &分校nbsp; <table width="228&quo公日t; height="34" border=&地刀quot;1">
31: &nb女大sp; 日謝 <?php while慢店 ($info = mysql時鄉_fetch_array($result2東飛, MySQL_ASSOC)) { ?>很朋
32: 了理  現化; <tr>湖銀;
33: &n技國bsp; &n頻問bsp; &n白銀bsp; <td width="99&q外靜uot; height="28">&下新lt;?php echo $info["name&購答quot;]?></td>
34: &n坐鄉bsp; &nbs她懂p; <td 他綠width="113"校人;> <?php echo $info["長吧age"]?><謝為/td>
35: &子你nbsp; </tr>朋相
36: &nbs上車p; &nb人可sp; <?php }人信?>
37: 一愛 &n鐵音bsp; </table>
38: &nb好窗sp; <?php mysq了離l_close($id);?>
39: </BODY&g愛書t;
40: </HTML>
程序運行結果如圖5-10所示。
圖5-10 程序5-5.php的運行結果
1.先把數據庫裡(lǐ)所有的數據分能生頁顯示在頁面(miàn),并在顯示數據的表格上方加上查詢表單。 2.加上條醫開件,實現目标結果。
【查詢後(hòu)也可分頁】可以在sql語句能知中加入模糊查詢條件,搜索後(hòu)將風吃(jiāng)記錄進(jìn)行輸出,就(jiù)可以對(du站可ì)查詢後(hòu)的記錄進(jì門遠n)行分頁。
通過(guò)sql語句對(duì)數據庫中熱玩的數據進(jìn)行操作,完成(chéng)對(玩姐duì)數據的分頁,讓多條數據可以分頁列出來。
<!--文件5-5.php:用PHP實現數據分頁-數飛-> 2: <HTML> 3: 吧花 <HEAD> 間用4: <TI體些TLE>用PHP實現數據分頁</TITLE> 5: 費嗎 </HEAD> 6: <B那女ODY> 7: 雜務<?php 8: 慢匠 $id=mysql_conn近湖ect("localhost&quo電黑t;,"root","root"生音); 9: mysql_sele件內ct_db("newda道月ta",$id); 10: $que兵動ry="SELECT * FROM testtable";秒秒 11: 水來 $result=mysql_query($query,$id)關公; 12: 金微 $datanum=mysql_nu醫高m_rows($result); 見書 13: $page_id=$_GET["p關風age_id"]; 14: 習從 if ($pa司要ge_id=="&qu木快ot;){ 15: 時影$page_id=1; 16: 人子 } 17: 暗司 $page_siz開又e="15"; //定義每頁顯示條數匠紅 18: $page_num=ceil($d美美atanum/$page_size); 19: 草下 ?> 20: 表testta刀校ble中共有<?php e老跳cho $datanum;?>條數據<br&g資作t; 21: 每頁<?ph件微p echo $page_size;?兒聽>條,共<?php ec海湖ho $page_num;?>頁。<br> 作間22: <低也?php 23: for ($i=1;錢亮$i<=$page_num;$i 相歌){ 24: echo 上媽"[<a href=?page_開年id=".$i.">".$i.&quo術放t;</a>]"; 25: 輛筆 } 26: 件草$start=($page_id-1)*$page_size; 個多27: $query2=&quo化公t;SELECT * FROM testtable limit $st大場art,$page_size"; 28:湖資 $resul是雪t2=mysql_query($query2,$id); 2上放9: ?> 30對土: <table width="228歌相" height="34" border西熱="1"> 31: &l制女t;?php while ($info = mysql_fet湖鄉ch_array($result2, 電金MySQL_ASSOC)) { ?> 32: 光那 <tr>風腦; 33: <td wi對但dth="99" height=電爸"28"><?php echo坐學 $info["name&雜多quot;]?></td> 34: 用暗 <td width="11看腦3"> <?php ech答電o $info["age"]?&g讀做t;</td> 35: </電腦tr> 36: &l暗開t;?php }?> 37: 線鐘 </table> 38: 議廠 <?php mysql_close(身時$id);?> 39: </BO我中DY> 40: </HTM林舊L> 這(zhè)串代碼很實用,真的是實木海現了分頁
終于學(xué)會(huì)分頁了