PHP分页原理

本文详细介绍了PHP分页技术的实现方法,通过分析SQL查询语句的构造原理,结合实际代码示例,展示了如何利用$_GET获取页面参数,并实现翻页功能。

         PHP分页,通过一个公式来执行,首先我们要明白select * from book limit 0,5;        select * from book limit 5,5;       select * from book limit 10,5;的含义,第一句是从零查找5条信息,第二条是从5开始查找5条信息,第三条就不用多说了。

        从以上分析,我们可以总结出来,首先0=(1-1)*5           5=(2-1)*5     10=(3-1)*5          在这里我们要明白1,2,3代表的是什么,还有5代表的是什么就可以了。1,2,3代表的当前页,也就是第一、第二、第三页;5则是我们显示的记录数。得出查询公式:select * from book limit($pageval-1)*$pagesize,$pagesize;

       现在的问题转到了怎么获取$page值。这里利用$_GET(page)来获得。

       具体步骤:首先确定输出记录数$pagesize=5;  利用$url=$_SREVER["REQUEST_URI"];  来获取当前的URL;再通过parse_url()解析URL,最后经过取出path的值。这个就是我们要的URL了。

Code:
  1. <?   
  2. include "conn.php";   
  3. include "head.php";   
  4.   
  5. ?>   
  6. <table width=500 border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#add3ef">   
  7.   <?   
  8.   $pagesize=5;   
  9.   $url=$_SREVER["REQUEST_URI"];//获取当前的URL   
  10.   $url=parse_url($url);//将URL解析成数组   
  11.   $url=$url[path];//取得path;   
  12.   $numq=mysql_query("select * from `book`");   
  13.   $num = mysql_num_rows($numq);//遍历数组   
  14.   if($_GET[page]){                   //$_GET去取url中的page参数的值,如果取到值了就赋给$pageavl   
  15.     $pageval=$_GET[page];   
  16.     $page=($pageval-1)*$pagesize;   
  17.     $page.=',';   
  18.   }   
  19. //  if($num > $pagesize){   
  20. //      if($pageval<=1)$pageval=1;   
  21. //      echo "共 $num 条".   
  22. //      "<a href=$url?page=".($pageval-1).">上一页</a> <a href=$url?page=".($pageval+1).">下一页</a>";   
  23. //  }   
  24.   $sql="select * from book limit $page $pagesize";   
  25.   $query=mysql_query($sql);   
  26.   while($row=mysql_fetch_array($query)){   
  27.   ?>   
  28.   <tr bgcolor="#eff3ff">   
  29.   <td>标题:<?=$row[title]?> 用户:<?=$row[user]?></td>   
  30.   </tr>   
  31.   <tr bgColor="#ffffff">   
  32.   <td>内容:<?=$row[content]?></td>   
  33.   </tr>   
  34.   <?   
  35.   }   
  36.   ?>   
  37. </table>   
  38. <br>   
  39. <?   
  40. //$pagesize=5;   
  41.  // $url=$_SREVER["REQUEST_URI"];//获取当前的URL   
  42.  // $url=parse_url($url);//将URL解析成数组   
  43.  // $url=$url[path];//取得path;   
  44.  // $numq=mysql_query("select * from `book`");   
  45.  // $num = mysql_num_rows($numq);//遍历数组   
  46.  // if($_GET[page]){  //$_GET去取url中的page参数的值,如果取到值了就赋给$pageavl   
  47.  //     $pageval=$_GET[page];   
  48.  //     $page=($pageval-1)*$pagesize;   
  49.  //     $page.=',';   
  50.   
  51.  // }   
  52.  if($num > $pagesize){   
  53.     if($pageval<=1)   
  54.     $pageval=1;   
  55.     echo "共 $num 条".   
  56.     "<a href=$url?page=".($pageval-1).">上一页</a> <a href=$url?page=".($pageval+1).">下一页</a>";   
  57.   }   
  58. ?>  

代码如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值