php分页函数完整实例代码
本文分享一例php分页函数完整实例代码,使用此函数实现分页效果很不错。分享给大家供大家参考。
具体功能代码如下:
<?php /* *Createdon2011-07-28 *使用方法: require_once('mypage.php'); $result=mysql_query("select*frommytable",$myconn); $total=mysql_num_rows($result);//取得信息总数 pageDivide($total,10);//调用分页函数 //数据库操作 $result=mysql_query("select*frommytablelimit$sqlfirst,$shownu",$myconn); while($row=mysql_fetch_array($result)){ //...您的操作 } echo$pagecon;//输出分页导航内容 */ if(!function_exists("pageDivide")){ #$total信息总数 #$shownu显示数量,默认20 #$url本页链接 functionpageDivide($total,$shownu=20,$url=''){ #$page当前页码 #$sqlfirstmysql数据库起始项 #$pagecon分页导航内容 global$page,$sqlfirst,$pagecon,$_SERVER; $GLOBALS["shownu"]=$shownu; if(isset($_GET['page'])){ $page=$_GET['page']; }else$page=1; #如果$url使用默认,即空值,则赋值为本页URL if(!$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)returnfalse;//如果只有一页则跳出 if($page!=1)$pagecon.="<ahref='$url=1'>首页</a>";else$pagecon.="首页"; if($prepg)$pagecon.="<ahref='$url=$prepg'>前页</a>";else$pagecon.="前页"; if($nextpg)$pagecon.="<ahref='$url=$nextpg'>后页</a>";else$pagecon.="后页"; if($page!=$lastpg)$pagecon.="<ahref='$url=$lastpg'>尾页</a>";else$pagecon.="尾页"; #下拉跳转列表,循环列出所有页码 $pagecon.="到第<selectname='topage'size='1'onchange='window.location=\"$url=\"+this.value'>\n"; for($i=1;$i<=$lastpg;$i++){ if($i==$page)$pagecon.="<optionvalue='$i'selected>$i</option>\n"; else$pagecon.="<optionvalue='$i'>$i</option>\n"; } $pagecon.="</select>页,共$lastpg页"; } }elsedie('pageDivide()同名函数已经存在!'); ?>
相信本文所述对大家PHP程序设计的学习有一定的借鉴价值。