本文分享一例php分页函数完整实例代码,使用此函数实现分页效果很不错。分享给大家供大家参考。
具体功能代码如下:
<?php/** Created on 2011-07-28* 使用方法:require_once("mypage.php");$result=mysql_query("select * from mytable", $myconn);$total=mysql_num_rows($result);//取得信息总数pageDivide($total,10); //调用分页函数//数据库操作$result=mysql_query("select * from mytable limit $sqlfirst,$shownu", $myconn);while($row=mysql_fetch_array($result)){//...您的操作}echo $pagecon;//输出分页导航内容*/if(!function_exists("pageDivide")){#$total 信息总数#$shownu显示数量,默认20#$url 本页链接function pageDivide($total,$shownu=20,$url=""){#$page 当前页码#$sqlfirst mysql数据库起始项#$pagecon分页导航内容global $page,$sqlfirst,$pagecon,$_SERVER;$GLOBALS["shownu"]=$shownu;if(isset($_GET["page"])){$page=$_GET["page"];}else $page=1;#如果$url使用默认,即空值,则赋值为本页URLif(!$url){ $url=$_SERVER["REQUEST_URI"];}#URL分析$parse_url=parse_url($url);@$url_query=$parse_url["query"];//取出在问号?之后内容if($url_query){$url_query=preg_replace("/(&?)(page=$page)/","",$url_query);$url = str_replace($parse_url["query"],$url_query,$url);if($url_query){$url .= "&page";}else $url .= "page";}else $url .= "?page";#页码计算$lastpg=ceil($total/$shownu);//最后页,总页数$page=min($lastpg,$page);$prepg=$page-1; //上一页$nextpg=($page==$lastpg ? 0 : $page+1); //下一页$sqlfirst=($page-1)*$shownu;#开始分页导航内容$pagecon = "显示第 ".($total?($sqlfirst+1):0)."-".min($sqlfirst+$shownu,$total)." 条记录,共 <B>$total</B> 条记录";if($lastpg<=1) return false;//如果只有一页则跳出if($page!=1) $pagecon .=" <a href="$url=1">首页</a> "; else $pagecon .=" 首页 ";if($prepg) $pagecon .=" <a href="$url=$prepg">前页</a> "; else $pagecon .=" 前页 ";if($nextpg) $pagecon .=" <a href="$url=$nextpg">后页</a> "; else $pagecon .=" 后页 ";if($page!=$lastpg) $pagecon.=" <a href="$url=$lastpg">尾页</a> "; else $pagecon .=" 尾页 ";#下拉跳转列表,循环列出所有页码$pagecon .=" 到第 <select name="topage" size="1" onchange="window.location="$url="+this.value">
";for($i=1;$i<=$lastpg;$i++){if($i==$page) $pagecon .="<option value="$i" selected>$i</option>
";else $pagecon .="<option value="$i">$i</option>
";}$pagecon .="</select> 页,共 $lastpg 页";}}else die("pageDivide()同名函数已经存在!");?>相信本文所述对大家PHP程序设计的学习有一定的借鉴价值。