php分頁函數(shù)完整實例代碼
更新時間:2014年09月22日 08:58:12 投稿:shichen2014
這篇文章主要介紹了php分頁函數(shù)完整實例代碼,采用較為詳盡的注釋說明了PHP分頁的方法及原理,需要的朋友可以參考下
本文分享一例php分頁函數(shù)完整實例代碼,使用此函數(shù)實現(xiàn)分頁效果很不錯。分享給大家供大家參考。
具體功能代碼如下:
<?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ù)庫起始項
#$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"]; //取出在問號?之后內(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";
#頁碼計算
$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)存在!');
?>
相信本文所述對大家PHP程序設(shè)計的學(xué)習(xí)有一定的借鑒價值。
相關(guān)文章
php addslashes 利用遞歸實現(xiàn)使用反斜線引用字符串
以下是對php中利用遞歸實現(xiàn)使用反斜線引用字符串的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-08-08
php讀取csv文件后,uft8 bom導(dǎo)致在頁面上顯示出現(xiàn)問題的解決方法
以下是對php讀取csv文件后,uft8 bom導(dǎo)致在頁面上顯示出現(xiàn)問題的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-08-08
開啟CURL擴展,讓服務(wù)器支持PHP curl函數(shù)(遠(yuǎn)程采集)
關(guān)于開啟Curl的方法模板天下小編在此給大家簡單說一下2011-03-03
PHP使用gearman進(jìn)行異步的郵件或短信發(fā)送操作詳解
這篇文章主要介紹了PHP使用gearman進(jìn)行異步的郵件或短信發(fā)送操作,總結(jié)分析了PHP基于gearman實現(xiàn)異步的郵件或短信發(fā)送相關(guān)配置、啟動與操作注意事項,需要的朋友可以參考下2020-02-02
PHP學(xué)習(xí)之?dāng)?shù)組值的操作
PHP中,用list來析取數(shù)組中的值,如list($a, $b) = $array。2011-04-04
批量獲取memcache值并按key的順序返回的實現(xiàn)代碼
一臺memcache時返回是正確的,在有多臺memcache時就無法一一對應(yīng)的按順序返回。2011-06-06

