php分页处理功能是所有服务器脚本需要支持的一个功能,原理大概都是一样的获取当前页码与记录数,然后再进行一些计算之后获取从起始与结束位置的内容然后再利用php显示出来即可,下面来看看这个分页例子,后面我会详细介绍.
php分页例子,代码如下:
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.phpfensi.com /TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html
-
- xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-
- <title>php make page list</title>
-
- <style type="text/CSS">
-
- <!-- .page a:link { color: #0000FF; text-decoration: none; }
-
- .page a:visited { text-decoration: none; color: #0000FF; }
-
- .page a:hover { text-decoration: none; color: #0000FF; }
-
- .page a:active { text-decoration: none; color: #0000FF; }
-
- .page{color:#0000FF;} --> </style>
-
- </head>
-
- <body>
-
- <table width="530" height="103" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"> <tr> <th width="30" height="38" bgcolor="#E3E3E3" scope="col">ID</th> <th width="500" bgcolor="#E3E3E3" scope="col">title</th> </tr> <?php include "conn.php";
-
- $Page_size=10;
-
- $result=mysql_query('select * from huazhuangpin');
- $count = mysql_num_rows($result);
- $page_count = ceil($count/$Page_size);
-
- $init=1; $page_len=7; $max_p=$page_count; $pages=$page_count;
-
-
-
- if(emptyempty($_GET['page'])||$_GET['page']<0){ $page=1; }else { $page=$_GET['page']; }
-
- $offset=$Page_size*($page-1);
- $sql="select * from huazhuangpin limit $offset,$Page_size"; $result=mysql_query($sql);
- while ($row=mysql_fetch_array($result)) { ?> <tr> <td bgcolor="#E0EEE0" height="25px"><div align="center"> <?php echo $row['id']?> </div></td> <td bgcolor="#E0EEE"><div align="center"> <?php echo $row['title']?> </div></td> </tr> <?php } $page_len = ($page_len%2)?$page_len:$pagelen+1;
-
- $key='<div>'; $key.="<span>$page/$pages</span> ";
-
- </body> </html>
分析此例子,代码片段一,代码如下:
- $Page_size=10;
-
- $result=mysql_query('select * from huazhuangpin');
- $count = mysql_num_rows($result);
- $page_count = ceil($count/$Page_size);
这代码是从数据库中先获取数据库总记录然后再利用$count/$Page_size(总记录除上每天多少条记录得出有多少页记录并且赋值给$page_coun.
代码片段二,代码如下:
- $offset=$Page_size*($page-1);
- $sql="select * from huazhuangpin limit $offset,$Page_size"; $result=mysql_query($sql);
这代码核心部份是$offset=$Page_size*($page-1); 这个是利用我们获取的当前页面-1然后判断总记录在多少条再在sql中实现从X,y条记录读取limit $offset,$Page_size 这样就实现了分页获取记录了.
代码片段三,代码如下:
- if(emptyempty($_GET['page'])||$_GET['page']<0){ $page=1; }else { $page=$_GET['page']; }
这段代码是获取page如果page为空就默认为第一页,否则就获取当前页面页码给$page变量以后面的程序作参考值处理. |