php分页原理与实现代码(图文教程)

发布时间:2020-11-22编辑:脚本学堂
有关php分页原理与分页代码的实现方法,sql语句中用limit进行分页的实例教程,主要是取得记录总数,然后计算当前页数与每页条数,需要的朋友参考下。

php分页原理实例教程

一、sql语句limit的用法
 

select * from table_name ... limit start_pos, item_counts;
start_pos : 开始位置, item_counts : 操作条数

专题推荐:php分页代码大全

二、 分页公式
1.原理 :将数据库中的结果集,分成一段一段的来显示。
2.分段 :select * from table_name limit 0, 10; (前10条记录)
select * from table_name limit 10, 10; (第11至20条记录)
3.公式 :select * from table_name limit (nPage-1)*nPageSize, nPageSize;
nPage : 当前页数,nPageSize : 每页条数
 
三、parse_url($url)
parse_url()是将url解析成具有固定键值名称的数组的函数.
 
四、$_SERVER["REQUEST_URI"]
预定义服务器变量的一种,所有$_SERVER开头的都叫预定义服务器变量,REQUEST_URI的作用是取得当前URI,也就是除域名外后面完整的路径。
当前页:http://www.baidu.com/home.index?usr=user1&id=123456
$_server["request_uri"]为:/home.index?usr=user1&id=123456
 
五、php分页代码
 

复制代码 代码示例:
<table width="60%" border="1" cellpadding="5" cellspacing="1" bgcolor="#add3ef"> 
<? 
 // 1 connect to database
 $link = @mysql_connect("localhost", "root", "") or die ("connect to mysql failed"); 
 @mysql_select_db("csxdb", $link) or die ("not find db student"); 
 mysql_query("set names 'GBK'"); 
 
 // 2 path of local page 
 $url = $_SERVER["REQUEST_URI"]; 
 $arr = parse_url($url); 
 $path = $arr[path]; 
 
 // 3 total num of records 
 $rset = mysql_query("select * from student"); 
 $nums = mysql_num_rows($rset); 
 
 // 4 some initialized variable 
 $nPageSize = 5; // page size 
 $nsPos = 0;  // start postion of record 
 $nPage = 1;  // current page order 
 
 // 5 if request 
 if ($_GET[page]) 
 { 
  $nPage = $_GET[page]; 
  $nsPos = ($nPage-1) * $nPageSize; 
 } 
 
 // 6 echo the link text 
 if ($nums > $nPageSize) 
 { 
  $nTmp = ceil($nums/$nPageSize); 
  echo "共".$nTmp."页"." 第".$nPage."页&nbsp;" 
 ."<a href=$path?page=".($nPage<=1?1:$nPage-1).">上一页</a>&nbsp;" 
 ."<a href=$path?page=".($nPage<$nTmp?$nPage+1:$nTmp) 
 .">下一页</a><br>"; 
 } 
 
 // 7 select data from db and show it on page 
 $rset = mysql_query("select * from student limit $nsPos, $nPageSize"); 
 while ($row = mysql_fetch_array($rset)) 
 { 
?> 
<tr> 
<td><?=$row[sno]?></td> 
<td><?=$row[sname]?></td> 
<td><?=$row[sage]?></td> 
<td><?=$row[saddr]?></td> 
</tr> 
<? 

mysql_close($link); 
?> 
</table> 
 

六、php分页效果图
php分页原理代码