|
本人原創的代碼,高手看來,也許流程笨拙點,但是很實用.看者要頂啊
/*---------------------------------------------------------------//
* 函數說明:分頁函數 page($sql,$pagesize="30")
* $sql 查詢語句(除limit外,可帶排序或者條件限制)
* 如 select * from stu where time between "1" and "30";
* $pagesize 每頁的顯示條數
* ## 可輸出數組$arr的值,說明如下:
* $arr["first"] 首頁及地址
* $arr["page_pre"] 及地址
* $arr["all"] 當第幾頁和總頁數
* $arr["page_next"]及地址
* $arr["last"] 末頁及地址
* $arr["pagelist"] 頁碼列表及地址,顯示當前頁前后4頁列表
* $arr["query"] 語句 $arr["query"] = mysql_query($sql)
* $arr["nums"] 記錄總數
* 2006.09.06 by Kevin QQ:84529890
//----------------------------------------------------------------*/
function page($sql,$pagesize="30"){
global $arr,$php_SELF;
$query = mysql_query($sql);
$num = mysql_num_rows($query);
$pagecount = ceil($num/$pagesize);
$page = $_GET["page"];
if(!$page) $page=1;
if($page>$pagecount) $page = $pagecount;
$offset = ($page-1)*$pagesize;
$sql.=" limit $offset , $pagesize";
$arr["query"] = mysql_query($sql);
if($page>1){
$page_pre = $page-1;
$page_url = $php_SELF . "?page=".$page_pre;
$arr["page_pre"] = "<a href=/"".$page_url."/">|</a>/n";
}
if($page<$pagecount){
$page_next = $page+1;
$page_url = $php_SELF . "?page=".$page_next;
$arr["page_next"] = "|<a href=/"".$page_url."/"></a>/n";
}
$arr["all"] = "<font color=/"#FF0000/">".$page ."</font>/". $pagecount . "頁/n";
$arr["first"] = "<a href=/"".$php_SELF."?page=1/">首頁</a>/n|";
$arr["last"] = "|<a href=/"".$php_SELF."?page=".$pagecount."/">末頁</a>/n";
$plfront="";
if($page<=5 && $page>=1){
for($i=1;$i<=9;$i++){
$plfront.= " <a href=/"".$php_SELF."?page=$i/">".$i."</a>";
}
}elseif($page>5 && $page<$pagecount-5){
for($i=$page-4;$i<$page+5;$i++){
$plfront.= " <a href=/"".$php_SELF."?page=$i/">".$i."</a>";
}
}else{
for($i=$pagecount-8;$i<=$pagecount;$i++){
$plfront.= " <a href=/"".$php_SELF."?page=$i/">".$i."</a>";
}
}
$arr["pagelist"] = $plfront." ";
$arr["nums"] = $num;
}
php技術:&lt;font color=red&gt;一個好用的分頁函數,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。