php分頁函數(shù)完整實(shí)例代碼
本文分享一例php分頁函數(shù)完整實(shí)例代碼,使用此函數(shù)實(shí)現(xiàn)分頁效果很不錯(cuò)。分享給大家供大家參考。
具體功能代碼如下:
<?php
/*
* Created on 2011-07-28
* 使用方法:
require_once('mypage.php');
$result=mysql_query("select * from mytable", $myconn);
$total=mysql_num_rows($result); //取得信息總數(shù)
pageDivide($total,10); //調(diào)用分頁函數(shù)
//數(shù)據(jù)庫操作
$result=mysql_query("select * from mytable limit $sqlfirst,$shownu", $myconn);
while($row=mysql_fetch_array($result)){
//...您的操作
}
echo $pagecon; //輸出分頁導(dǎo)航內(nèi)容
*/
if(!function_exists("pageDivide")){
#$total 信息總數(shù)
#$shownu 顯示數(shù)量,默認(rèn)20
#$url 本頁鏈接
function pageDivide($total,$shownu=20,$url=''){
#$page 當(dāng)前頁碼
#$sqlfirst mysql數(shù)據(jù)庫起始項(xiàng)
#$pagecon 分頁導(dǎo)航內(nèi)容
global $page,$sqlfirst,$pagecon,$_SERVER;
$GLOBALS["shownu"]=$shownu;
if(isset($_GET['page'])){
$page=$_GET['page'];
}else $page=1;
#如果$url使用默認(rèn),即空值,則賦值為本頁URL
if(!$url){ $url=$_SERVER["REQUEST_URI"];}
#URL分析
$parse_url=parse_url($url);
@$url_query=$parse_url["query"]; //取出在問號(hào)?之后內(nèi)容
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";
#頁碼計(jì)算
$lastpg=ceil($total/$shownu); //最后頁,總頁數(shù)
$page=min($lastpg,$page);
$prepg=$page-1; //上一頁
$nextpg=($page==$lastpg ? 0 : $page+1); //下一頁
$sqlfirst=($page-1)*$shownu;
#開始分頁導(dǎo)航內(nèi)容
$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 .=" 尾頁 ";
#下拉跳轉(zhuǎn)列表,循環(huán)列出所有頁碼
$pagecon .=" 到第 <select name='topage' size='1' onchange='window.location=\"$url=\"+this.value'>\n";
for($i=1;$i<=$lastpg;$i++){
if($i==$page) $pagecon .="<option value='$i' selected>$i</option>\n";
else $pagecon .="<option value='$i'>$i</option>\n";
}
$pagecon .="</select> 頁,共 $lastpg 頁";
}
}else die('pageDivide()同名函數(shù)已經(jīng)存在!');
?>
相信本文所述對(duì)大家PHP程序設(shè)計(jì)的學(xué)習(xí)有一定的借鑒價(jià)值。
相關(guān)文章
PHP之a(chǎn)utoload運(yùn)行機(jī)制實(shí)例分析
這篇文章主要介紹了PHP的autoload運(yùn)行機(jī)制分析,從PHP源碼及應(yīng)用的角度對(duì)autoload進(jìn)行了較為深入的分析,需要的朋友可以參考下2014-08-08
PHP實(shí)現(xiàn)的多維數(shù)組排序算法分析
這篇文章主要介紹了PHP實(shí)現(xiàn)的多維數(shù)組排序算法,結(jié)合實(shí)例形式對(duì)比分析了php針對(duì)多維數(shù)組及帶有鍵名的多維數(shù)組進(jìn)行排序相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-02-02
php強(qiáng)制用戶轉(zhuǎn)向www域名的方法
這篇文章主要介紹了php強(qiáng)制用戶轉(zhuǎn)向www域名的方法,可實(shí)現(xiàn)模擬301重定向的功能,并且針對(duì)無法head重定向的情況輸出鏈接,需要的朋友可以參考下2015-06-06
php與flash as3 socket通信傳送文件實(shí)現(xiàn)代碼
這篇文章主要介紹了php與flash as3 socket通信傳送文件實(shí)現(xiàn)代碼,本文含AS3代碼和PHP代碼,需要的朋友可以參考下2014-08-08
php調(diào)整gif動(dòng)畫圖片尺寸示例代碼分享
這篇文章主要介紹了如何使用php調(diào)整gif動(dòng)畫圖片尺寸,大家可以參考使用2013-12-12
PHP隨機(jī)數(shù) C擴(kuò)展隨機(jī)數(shù)
這篇文章主要介紹了PHP隨機(jī)數(shù),C擴(kuò)展隨機(jī)數(shù)的相關(guān)資料,還為大家介紹了PHP唯一ID生成擴(kuò)展ukey,感興趣的小伙伴們可以參考一下2016-05-05
php簡(jiǎn)單處理XML數(shù)據(jù)的方法示例
這篇文章主要介紹了php簡(jiǎn)單處理XML數(shù)據(jù)的方法,結(jié)合具體實(shí)例形式分析了php對(duì)xml格式數(shù)據(jù)的簡(jiǎn)單載入、讀取、輸出等操作技巧,需要的朋友可以參考下2017-05-05

