php 分页类使用,php 分页 分页类 简单实用
//為了避免重復包含文件而造成錯誤,加了判斷函數(shù)是否存在的條件:if(!function_exists(pageft)){//定義函數(shù)pageft(),三個參數(shù)的含義為://$totle:信息總數(shù);//$displaypg:每頁顯示信息數(shù),這里設置為默認是20;//$url:分頁導航中的鏈接,除了加入不同的查詢信息“page”外的部分都與這個URL相同。// 默認值本該設為本頁URL(即$_SERVER["REQUEST_URI"]),但設置默認值的右邊只能為常量,所以該默認值設為空字符串,在函數(shù)內部再設置為本頁URL。function pageft($totle,$displaypg=20,$url=''){[size=-1]//定義幾個全局變量://$page:當前頁碼;//$firstcount:(數(shù)據(jù)庫)查詢的起始項;//$pagenav:頁面導航條代碼,函數(shù)內部并沒有將它輸出;//$_SERVER:讀取本頁URL“$_SERVER["REQUEST_URI"]”所必須。global $page,$firstcount,$pagenav,$_SERVER;[size=-1]//為使函數(shù)外部可以訪問這里的“$displaypg”,將它也設為全局變量。注意一個變量重新定義為全局變量后,原值被覆蓋,所以這里給它重新賦值。$GLOBALS["displaypg"]=$displaypg;[size=-1]if(!$page) $page=1;[size=-1]//如果$url使用默認,即空值,則賦值為本頁URL:if(!$url){ $url=$_SERVER["REQUEST_URI"];}[size=-1]//URL分析:$parse_url=parse_url($url);$url_query=$parse_url["query"]; //單獨取出URL的查詢字串if($url_query){//因為URL中可能包含了頁碼信息,我們要把它去掉,以便加入新的頁碼信息。//這里用到了正則表達式,請參考“PHP中的正規(guī)表達式”$url_query=ereg_replace("(^|&)page=$page","",$url_query);[size=-1]//將處理后的URL的查詢字串替換原來的URL的查詢字串:$url=str_replace($parse_url["query"],$url_query,$url);//在URL后加page查詢信息,但待賦值:if($url_query) $url.="&page"; else $url.="page";}else {$url.="?page";}[size=-1]頁碼計算:$lastpg=ceil($totle/$displaypg); //最后頁,也是總頁數(shù)$page=min($lastpg,$page);$prepg=$page-1; //上一頁$nextpg=($page==$lastpg ? 0 : $page+1); //下一頁$firstcount=($page-1)*$displaypg;[size=-1]//開始分頁導航條代碼:$pagenav="顯示第 ".($totle?($firstcount+1):0)."-".min($firstcount+$displaypg,$totle)." 條記錄,共 $totle 條記錄
";[size=-1]//如果只有一頁則跳出函數(shù):if($lastpg<=1) return false;[size=-1]$pagenav.=" 首頁 ";if($prepg) $pagenav.=" 前頁 "; else $pagenav.=" 前頁 ";if($nextpg) $pagenav.=" 后頁 "; else $pagenav.=" 后頁 ";$pagenav.=" 尾頁 ";[size=-1]//下拉跳轉列表,循環(huán)列出所有頁碼:$pagenav.=" 到第 \n";for($i=1;$i<=$lastpg;$i++){if($i==$page) $pagenav.="$i\n";else $pagenav.="$i\n";}$pagenav.=" 頁,共 $lastpg 頁";}}?>好,分頁函數(shù)已經(jīng)寫好了,保存為“pageft.php”,要分頁時就包含它并調用pageft()函數(shù)。不過它并沒有輸出任何東西,但產(chǎn)生幾個全局變量供使用:$firstcount、$displaypg、$pagenav。下面舉例說明它的用法://(前面程序略)include("pageft.php"); //包含“pageft.php”文件$page=$_GET['page'];//加上這句即可//取得總信息數(shù)$result=mysql_query("select * from mytable");$total=mysql_num_rows($result);if ($total==0 )die("暫時沒有信息!");//如果記錄為0//調用pageft(),每頁顯示10條信息(使用默認的20時,可以省略此參數(shù)),使用本頁URL(默認,所以省略掉)。pageft($total,10);//現(xiàn)在產(chǎn)生的全局變量就派上用場了:$result=mysql_query("select * from mytable limit $firstcount,$displaypg ");while($row=mysql_fetch_array($result)){//(列表內容略)}[size=-1]//輸出分頁導航條代碼:echo $pagenav;[size=-1]//(后面程序略)?>
總結
以上是生活随笔為你收集整理的php 分页类使用,php 分页 分页类 简单实用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 访问者模式 php,php设计模式 Vi
- 下一篇: windows10会中php病毒吗,wi