簡單實用的php分頁函數代碼


一個簡單實用的php分頁函數,分頁導航中可以默認為空,在函數內部再設置本頁URL。

代碼:

<?php
/**
* 分頁
* @category 功能
* @param $totle:信息總數
* @param $displaypg:每頁顯示信息數,這里設置為默認是20;
* @param $url:分頁導航中的鏈接,除了加入不同的查詢信息“page”外的部分都與這個URL相同.默認值本該設為本頁URL(即$_SERVER["REQUEST_URI"]),但設置默認值的右邊只能為常量,所以該默認值設為空字符串,在函數內部再設置為本頁URL。
* @return string
*/
function pageft($totle, $displaypg=20, $url=''){

$page=fget("page", 1);
$url=empty($url) ? $_SERVER["REQUEST_URI"] : $url;

//URL分析:
$parse_url=parse_url($url);
$url_query=isset($parse_url["query"]) ? $parse_url["query"] : ""; //單獨取出URL的查詢字串
if($url_query){
$url_query=preg_replace("/page=[^&]*[&]?/i","",$url_query);
$url=str_replace($parse_url["query"],$url_query,$url);//將處理后的URL的查詢字串替換原來的URL的查詢字串
$url.="&page";//在URL后加page查詢信息,但待賦值
}else{
$url.="?page";
}

//頁碼計算:
$lastpg=ceil($totle/$displaypg); //最后頁,也是總頁數
$lastpg=$lastpg ? $lastpg : 1; //沒有顯示條目,置最后頁為1
$page=min($lastpg,$page);
$prepg=$page-1; //上一頁
$nextpg=($page==$lastpg ? 0 : $page+1); //下一頁
$firstcount=($page-1)*$displaypg;

//如果只有一頁則跳出函數,沒有分頁的文字顯示(備用)
//if($lastpg<=1) return false;

//開始分頁導航條代碼
$pagenav="顯示第 ".($totle?($firstcount+1):0) . "/" . min($firstcount+$displaypg,$totle)." 條記錄,共 $totle 條記錄<br/>";

$pagenav.=" <a href='$url=1'>首頁</a> ";
if($prepg) $pagenav.=" <a href='$url=$prepg'>前頁</a> "; else $pagenav.=" 前頁 ";
if($nextpg) $pagenav.=" <a href='$url=$nextpg'>后頁</a> "; else $pagenav.=" 后頁 ";
$pagenav.=" <a href='$url=$lastpg'>尾頁</a> ";

//下拉跳轉列表,循環列出所有頁碼
$pagenav.=" 到第 <select name='topage' size='1' onchange='window.location=\"$url=\"+this.value'>\n";
for($i=1;$i<=$lastpg;$i++){
if($i==$page){
$pagenav.="<option value='$i' selected>$i</option>\n";
}else{
$pagenav.="<option value='$i'>$i</option>\n";
}
}
$pagenav.="</select> 頁,共 $lastpg 頁";

//組織返回值
$re_str['limit'] = "limit {$firstcount},{$displaypg}";
$re_str['str'] = $pagenav;
return $re_str;
}

您可能感興趣的文章:
入門級PHP簡單分頁代碼
PHP分頁代碼詳解(附實例)
php簡單分頁代碼一例
帶多種分頁方式的php分頁類
一個好用的php分頁類
簡單的php分頁代碼的例子
一個實用的php分頁類
一個快速好用的php分頁類


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM