1
2
3
4
5
6
7
8
9
10
11

分頁的實現

發(fā)布時間:2017-07-20 07:59   發(fā)布人:毛書朋   浏覽次數:7788



5.3.3.3  PHP中數據分頁的實現

      在Web開(kāi)發(fā)中經(jīng)常遇到的一個問題就是對(duì)大量數據進(jìn)行分頁顯示。如一個留言闆有數千條留言,如果這(zhè)些留言全都(dōu)顯示在一個頁面(miàn)上,頁面(miàn)將(jiāng)變得很大,有時過(guò)大的頁面(miàn)還(hái)會導緻浏覽器停止響應。PHP中提供了非常簡單方法對(duì)數據進(jìn)行分頁。

      爲了更好(hǎo)的說明分頁的作用,先向(xiàng)testtable表中插入大量的數據。修改5-3.php,把控制插入條數的“for($i=1;$i<6;$i )”修改爲“for($i=1;$i<100;$i )”,執行此程序之後(hòu),數據庫中便會插入99條數據。這(zhè)時再運行5-4.php,會發(fā)現99條數據全部顯示在一頁内。

在5-4.php的基礎上,爲此程序增加分頁功能(néng),具體代碼如下:

1:  <!--文件5-5.php:用PHP實現數據分頁-->

2:  <HTML>

3:    <HEAD>

4:        <TITLE>用PHP實現數據分頁</TITLE>

5:    </HEAD>

6:    <BODY>

7:        <?php

8:             $id=mysql_connect("localhost","root","root");

9:             mysql_select_db("newdata",$id);

10:            $query="SELECT * FROM testtable";

11:            $result=mysql_query($query,$id);

12:            $datanum=mysql_num_rows($result);

13:            $page_id=$_GET["page_id"];

14:            if ($page_id==""){

15:            $page_id=1;

16:            }

17:            $page_size="15";           //定義每頁顯示條數

18:            $page_num=ceil($datanum/$page_size);   

19:        ?>

20:        表testtable中共有<?php echo $datanum;?>條數據<br>

21:        每頁<?php echo $page_size;?>條,共<?php echo $page_num;?>頁。<br>

22:        <?php

23:           for ($i=1;$i<=$page_num;$i ){

24:                echo "[<a href=?page_id=".$i.">".$i."</a>]";

25:          }

26:          $start=($page_id-1)*$page_size;

27:          $query2="SELECT * FROM testtable limit $start,$page_size";

28:          $result2=mysql_query($query2,$id);

29:       ?>

30:       <table width="228" height="34" border="1">

31:          <?php  while ($info = mysql_fetch_array($result2, MySQL_ASSOC)) {  ?>

32:          <tr>

33:            <td width="99" height="28"><?php echo $info["name"]?></td>

34:            <td width="113"> <?php echo $info["age"]?></td>

35:          </tr>

36:            <?php }?>

37:          </table>

38:       <?php mysql_close($id);?>

39: </BODY>

40: </HTML>

程序運行結果如圖5-10所示。

5-10.jpg

圖5-10  程序5-5.php的運行結果



  • 孫淑平 2018-01-07 16:15:17
    1.先把數據庫裡(lǐ)所有的數據分頁顯示在頁面(miàn),并在顯示數據的表格上方加上查詢表單。 2.加上條件,實現目标結果。
  • 于爍 2018-01-08 16:46:13
    【查詢後(hòu)也可分頁】可以在sql語句中加入模糊查詢條件,搜索後(hòu)將(jiāng)記錄進(jìn)行輸出,就可以對(duì)查詢後(hòu)的記錄進(jìn)行分頁。
  • 汪永萍 2018-01-09 13:35:36
    通過(guò)sql語句對(duì)數據庫中的數據進(jìn)行操作,完成(chéng)對(duì)數據的分頁,讓多條數據可以分頁列出來。
  • 嶽猛 2018-01-09 16:30:53
    <!--文件5-5.php:用PHP實現數據分頁--> 2: <HTML> 3: <HEAD> 4: <TITLE>用PHP實現數據分頁</TITLE> 5: </HEAD> 6: <BODY> 7: <?php 8: $id=mysql_connect("localhost","root","root"); 9: mysql_select_db("newdata",$id); 10: $query="SELECT * FROM testtable"; 11: $result=mysql_query($query,$id); 12: $datanum=mysql_num_rows($result); 13: $page_id=$_GET["page_id"]; 14: if ($page_id==""){ 15: $page_id=1; 16: } 17: $page_size="15"; //定義每頁顯示條數 18: $page_num=ceil($datanum/$page_size); 19: ?> 20: 表testtable中共有<?php echo $datanum;?>條數據<br> 21: 每頁<?php echo $page_size;?>條,共<?php echo $page_num;?>頁。<br> 22: <?php 23: for ($i=1;$i<=$page_num;$i ){ 24: echo "[<a href=?page_id=".$i.">".$i."</a>]"; 25: } 26: $start=($page_id-1)*$page_size; 27: $query2="SELECT * FROM testtable limit $start,$page_size"; 28: $result2=mysql_query($query2,$id); 29: ?> 30: <table width="228" height="34" border="1"> 31: <?php while ($info = mysql_fetch_array($result2, MySQL_ASSOC)) { ?> 32: <tr> 33: <td width="99" height="28"><?php echo $info["name"]?></td> 34: <td width="113"> <?php echo $info["age"]?></td> 35: </tr> 36: <?php }?> 37: </table> 38: <?php mysql_close($id);?> 39: </BODY> 40: </HTML> 這(zhè)串代碼很實用,真的是實現了分頁
  • 魏德旺 2018-01-09 16:31:14
    終于學(xué)會分頁了