php分頁(yè)函數(shù)示例代碼分享
分享一例php分頁(yè)函數(shù)代碼,用此函數(shù)實(shí)現(xiàn)分頁(yè)代碼很不錯(cuò)。
代碼,php分頁(yè)函數(shù)。
<?php
/*
* Created on 2011-07-28
* Author : LKK , http://lianq.net
* 使用方法:
require_once('mypage.php');
$result=mysql_query("select * from mytable", $myconn);
$total=mysql_num_rows($result); //取得信息總數(shù)
pageDivide($total,10); //調(diào)用分頁(yè)函數(shù)
//數(shù)據(jù)庫(kù)操作
$result=mysql_query("select * from mytable limit $sqlfirst,$shownu", $myconn);
while($row=mysql_fetch_array($result)){
...您的操作
}
echo $pagecon; //輸出分頁(yè)導(dǎo)航內(nèi)容
*/
if(!function_exists("pageDivide")){
#$total 信息總數(shù)
#$shownu 顯示數(shù)量,默認(rèn)20
#$url 本頁(yè)鏈接
function pageDivide($total,$shownu=20,$url=''){
#$page 當(dāng)前頁(yè)碼
#$sqlfirst mysql數(shù)據(jù)庫(kù)起始項(xiàng)
#$pagecon 分頁(yè)導(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),即空值,則賦值為本頁(yè)URL
if(!$url){ $url=$_SERVER["REQUEST_URI"];}
#URL分析
$parse_url=parse_url($url);
@$url_query=$parse_url["query"]; //取出在問(wèn)號(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";
#頁(yè)碼計(jì)算
$lastpg=ceil($total/$shownu); //最后頁(yè),總頁(yè)數(shù)
$page=min($lastpg,$page);
$prepg=$page-1; //上一頁(yè)
$nextpg=($page==$lastpg ? 0 : $page+1); //下一頁(yè)
$sqlfirst=($page-1)*$shownu;
#開(kāi)始分頁(yè)導(dǎo)航內(nèi)容
$pagecon = "顯示第 ".($total?($sqlfirst+1):0)."-".min($sqlfirst+$shownu,$total)." 條記錄,共 <B>$total</B> 條記錄";
if($lastpg<=1) return false; //如果只有一頁(yè)則跳出
if($page!=1) $pagecon .=" <a href='$url=1'>首頁(yè)</a> "; else $pagecon .=" 首頁(yè) ";
if($prepg) $pagecon .=" <a href='$url=$prepg'>前頁(yè)</a> "; else $pagecon .=" 前頁(yè) ";
if($nextpg) $pagecon .=" <a href='$url=$nextpg'>后頁(yè)</a> "; else $pagecon .=" 后頁(yè) ";
if($page!=$lastpg) $pagecon.=" <a href='$url=$lastpg'>尾頁(yè)</a> "; else $pagecon .=" 尾頁(yè) ";
#下拉跳轉(zhuǎn)列表,循環(huán)列出所有頁(yè)碼
$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> 頁(yè),共 $lastpg 頁(yè)";
}
}else die('pageDivide()同名函數(shù)已經(jīng)存在!');
?>
相關(guān)文章
typecho插件編寫(xiě)教程(一):Hello World
這篇文章主要介紹了typecho插件編寫(xiě)教程(一):Hello World,本文講解了插件的文件結(jié)構(gòu)、插件信息、插件結(jié)構(gòu)、插件流程等內(nèi)容,需要的朋友可以參考下2015-05-05
Google Voice 短信發(fā)送接口PHP開(kāi)源版(2010.5更新)
Google Voice 短信發(fā)送接口PHP開(kāi)源版,以前的版本不能用了,作者于2010年5月進(jìn)行了更新。2010-07-07
PHP實(shí)現(xiàn)Markdown文章上傳到七牛圖床的實(shí)例內(nèi)容
在本篇文章里小編給大家整理的是關(guān)于PHP腳本實(shí)現(xiàn)Markdown文章上傳到七牛圖床的實(shí)例內(nèi)容,需要的朋友們可以學(xué)習(xí)下。2020-02-02
ThinkPHP中I(),U(),$this->post()等函數(shù)用法
這篇文章主要介紹了ThinkPHP中I(),U(),$this->post()等函數(shù)用法,簡(jiǎn)單分析了ThinkPHP處理表單的常用函數(shù)使用方法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-11-11
PHP迭代器實(shí)現(xiàn)斐波納契數(shù)列的函數(shù)
斐波納契數(shù)列通常做法是用遞歸實(shí)現(xiàn),當(dāng)然還有其它的方法。這里現(xiàn)學(xué)現(xiàn)賣(mài),用PHP的迭代器來(lái)實(shí)現(xiàn)一個(gè)斐波納契數(shù)列,幾乎沒(méi)有什么難度,只是把類(lèi)里的next()方法重寫(xiě)了一次。注釋已經(jīng)寫(xiě)到代碼中,也是相當(dāng)好理解的2013-11-11
Yii Framework框架獲取分類(lèi)下面的所有子類(lèi)方法
Yii是一個(gè)基于組件、用于開(kāi)發(fā)大型 Web 應(yīng)用的 高性能 PHP 框架。Yii 幾乎擁有了 所有的特性 ,包括 MVC、DAO/ActiveRecord、I18N/L10N、caching、基于 JQuery 的 AJAX 支持、用戶認(rèn)證和基于角色的訪問(wèn)控制、腳手架、輸入驗(yàn)證、部件、事件、主題化以及 Web 服務(wù)等等。2014-06-06

