1
2
3
4
5
6
7
8
9
10
11

分页的实现

发布时间:2017-07-20 07:59   发布人:毛书朋   浏览次数:8028



5.3.3.3  PHP中数据分页的实现

      在Web开发中经常遇到的一个问题就是对大量数据进行分页显示。如一个留言板有数千条留言,如果这些留言全都显示在一个页面上,页面将变得很大,有时过大的页面还会导致浏览器停止响应。PHP中提供了非常简单方法对数据进行分页。

      为了更好的说明分页的作用,先向testtable表中插入大量的数据。修改5-3.php,把控制插入条数的“for($i=1;$i<6;$i )”修改为“for($i=1;$i<100;$i )”,执行此程序之后,数据库中便会插入99条数据。这时再运行5-4.php,会发现99条数据全部显示在一页内。

在5-4.php的基础上,为此程序增加分页功能,具体代码如下:

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.先把数据库里所有的数据分页显示在页面,并在显示数据的表格上方加上查询表单。 2.加上条件,实现目标结果。
  • 于烁 2018-01-08 16:46:13
    【查询后也可分页】可以在sql语句中加入模糊查询条件,搜索后将记录进行输出,就可以对查询后的记录进行分页。
  • 汪永萍 2018-01-09 13:35:36
    通过sql语句对数据库中的数据进行操作,完成对数据的分页,让多条数据可以分页列出来。
  • 岳猛 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> 这串代码很实用,真的是实现了分页
  • 魏德旺 2018-01-09 16:31:14
    终于学会分页了