[php]實現(xiàn)像GOOGLE一樣分頁效果的代碼
更新時間:2007年05月20日 00:00:00 作者:
用到的函數(shù):PAGE();
function page ($totalPage , $currentPage,$url ,$halfPer,$imagePath)
{
$total=$totalPage;
$currentPage=($currentPage<1)?1:$currentPage;
$currentPage=($currentPage>$totalPage)?$totalPage:$currentPage;
//echo $currentPage;
$re="";
$re .= ( $currentPage > 1 )
? "<td><a href=\"$url=1\">首頁</a></td>\n<td><a href=\"$url=".($currentPage-1)."\">上一頁</a></td>\n"
: "<td>首頁</td>\n";
for ( $i = $currentPage - $halfPer,$i >= 1 || $i = 1 ,$j = $currentPage + $halfPer, $j < $totalPage || $j = $totalPage;$i <= $j ;$i++ )
{//核心算法!
$re .= ($i == $currentPage)
? "<td><b class=currentPage> [$i] </b></td>\n"
: "<td><a href=\"$url=$i\"> [$i] </a></td>\n";
}
$re .= ( $currentPage < $total )
? "<td><a href=\"$url=" . ( $currentPage + 1 ) . "\">下一頁</a></td>\n<td><a href=\"$url=" . ( $total )."\">尾頁</a>\n</td>"
: "<td>尾頁</td>\n";
$re="<table style=text-align:center><tr>$re</tr></table>";
return $re;
}
使用很簡單
先包括上面的函數(shù)
先檢索出總的記錄條數(shù)。
自己定義一下每頁顯示多少條:
然后總的頁數(shù)
$total_row=...;//此為您檢索出來的總的記錄數(shù)
$pagesize=10;
//=======================
//補充如果是整數(shù)的話。可以再判斷一下如果余數(shù)為0就不加1啊。
$totalPage =($total_row%$pagesize==0) ?intval($total_row/$pagesize): intval($total_row/$pagesize)+1;
//=======================
//$totalPage = intval($total_row/$pagesize)+1 ; //總頁數(shù) ,為什么要加1呢。呵呵。自己去想想:)
$currentPage = intval($_GET['page']);
$url = "?page";
$halfPer = 5;
$imagePath ="images";
$pageHtml = page ( $totalPage , $currentPage,$url ,$halfPer,$imagePath);
//echo $pageHtml ;
$currentPage=($currentPage<1)?1:$currentPage;
$currentPage=($currentPage>$totalPage)?$totalPage:$currentPage;
//上面這兩句大家能明白意思不,不要被那個?:嚇到,其實就等到if...else.....呵呵
下面為怎樣檢索MYSQL
我只寫也關(guān)鍵的那條語句就行了。呵呵。不要罵我懶啊。
首先讓我來帶大家了解一下LIMIT
LIMIT如果后面只有一個數(shù)字,則為檢錄前多少條。比如LIMIT 20 只為取前20條做為檢索的結(jié)果。
如果后面有兩具數(shù)字。則為從多少條起檢索多少條,比如 LIMIT 20,10 為從第20條起取10條,那么結(jié)果組為21-30條。
好,下面我們就用這個屬性來分頁:
(天好冷啊,廈門竟然還會這么手冷,暈死,回家過年得了。呵呵。好肺話啊。表打我哦 各位看官,先發(fā)表一下,等下再來編輯,不要不小心關(guān)年掉了,那不哭死我啊。小便一下先)
(回來了。呵呵)
我們繼續(xù)上面的講
我們用一條mysql語句來說明:
$strQuery="select * from myTable limit $offset,$pagesize";
大家看到?jīng)]有,上面出現(xiàn)了兩個變量,一個為$offset,一個為$pagesize。
$pagesize大家都知道是什么了是吧。什么?不知道,自己看上面去。
這個$offset即為起始變量,還刻我們剛才提到的LIMIT 20,10嗎。
好了,那么我們現(xiàn)在就來敲定這個$offset
其實 $offset = $pagesize*($currentPage-1);
function page ($totalPage , $currentPage,$url ,$halfPer,$imagePath)
{
$total=$totalPage;
$currentPage=($currentPage<1)?1:$currentPage;
$currentPage=($currentPage>$totalPage)?$totalPage:$currentPage;
//echo $currentPage;
$re="";
$re .= ( $currentPage > 1 )
? "<td><a href=\"$url=1\">首頁</a></td>\n<td><a href=\"$url=".($currentPage-1)."\">上一頁</a></td>\n"
: "<td>首頁</td>\n";
for ( $i = $currentPage - $halfPer,$i >= 1 || $i = 1 ,$j = $currentPage + $halfPer, $j < $totalPage || $j = $totalPage;$i <= $j ;$i++ )
{//核心算法!
$re .= ($i == $currentPage)
? "<td><b class=currentPage> [$i] </b></td>\n"
: "<td><a href=\"$url=$i\"> [$i] </a></td>\n";
}
$re .= ( $currentPage < $total )
? "<td><a href=\"$url=" . ( $currentPage + 1 ) . "\">下一頁</a></td>\n<td><a href=\"$url=" . ( $total )."\">尾頁</a>\n</td>"
: "<td>尾頁</td>\n";
$re="<table style=text-align:center><tr>$re</tr></table>";
return $re;
}
使用很簡單
先包括上面的函數(shù)
先檢索出總的記錄條數(shù)。
自己定義一下每頁顯示多少條:
然后總的頁數(shù)
$total_row=...;//此為您檢索出來的總的記錄數(shù)
$pagesize=10;
//=======================
//補充如果是整數(shù)的話。可以再判斷一下如果余數(shù)為0就不加1啊。
$totalPage =($total_row%$pagesize==0) ?intval($total_row/$pagesize): intval($total_row/$pagesize)+1;
//=======================
//$totalPage = intval($total_row/$pagesize)+1 ; //總頁數(shù) ,為什么要加1呢。呵呵。自己去想想:)
$currentPage = intval($_GET['page']);
$url = "?page";
$halfPer = 5;
$imagePath ="images";
$pageHtml = page ( $totalPage , $currentPage,$url ,$halfPer,$imagePath);
//echo $pageHtml ;
$currentPage=($currentPage<1)?1:$currentPage;
$currentPage=($currentPage>$totalPage)?$totalPage:$currentPage;
//上面這兩句大家能明白意思不,不要被那個?:嚇到,其實就等到if...else.....呵呵
下面為怎樣檢索MYSQL
我只寫也關(guān)鍵的那條語句就行了。呵呵。不要罵我懶啊。
首先讓我來帶大家了解一下LIMIT
LIMIT如果后面只有一個數(shù)字,則為檢錄前多少條。比如LIMIT 20 只為取前20條做為檢索的結(jié)果。
如果后面有兩具數(shù)字。則為從多少條起檢索多少條,比如 LIMIT 20,10 為從第20條起取10條,那么結(jié)果組為21-30條。
好,下面我們就用這個屬性來分頁:
(天好冷啊,廈門竟然還會這么手冷,暈死,回家過年得了。呵呵。好肺話啊。表打我哦 各位看官,先發(fā)表一下,等下再來編輯,不要不小心關(guān)年掉了,那不哭死我啊。小便一下先)
(回來了。呵呵)
我們繼續(xù)上面的講
我們用一條mysql語句來說明:
$strQuery="select * from myTable limit $offset,$pagesize";
大家看到?jīng)]有,上面出現(xiàn)了兩個變量,一個為$offset,一個為$pagesize。
$pagesize大家都知道是什么了是吧。什么?不知道,自己看上面去。
這個$offset即為起始變量,還刻我們剛才提到的LIMIT 20,10嗎。
好了,那么我們現(xiàn)在就來敲定這個$offset
其實 $offset = $pagesize*($currentPage-1);
相關(guān)文章
BitDefender 2008 系列簡體中文預(yù)覽第三版+注冊機 迅雷下載
官網(wǎng)上面于3月6日發(fā)布了BitDefender 2008 全系列簡體中文預(yù)覽版(第三版)。數(shù)字簽名是2008年3月6日 BitDefender是來自羅馬尼亞的老牌殺毒軟件,BitDefender Internet Security 2008包含反病毒系統(tǒng)、網(wǎng)絡(luò)防火墻、反垃圾郵件、反間諜軟件、家長控制中心5個安全模塊,提供你所需的所有計算機安全防護(hù),保護(hù)你免受各種已知和未知病 毒、黑客、垃圾郵件、間諜軟件、惡意網(wǎng)頁以及其它internet威脅,支持在線更新,全面保護(hù)家庭上網(wǎng)安全.2008-03-03AVG Anti-Virus 7.5 Build 476a1043
AVG Anti-Virus 7.5 Build 476a1043...2007-06-06U盤病毒專殺工具V6.0 Build20070313(完全版) 下載
U盤病毒專殺工具V6.0 Build20070313(完全版) 下載...2007-03-03可以恢復(fù)flashfxp密碼的FlashFXP Password Recovery v1.0.160.2006 漢化版
可以恢復(fù)flashfxp密碼的FlashFXP Password Recovery v1.0.160.2006 漢化版...2007-10-10access dbase excel foxpro 數(shù)據(jù)庫瀏覽器V3.1版 下載
access dbase excel foxpro 數(shù)據(jù)庫瀏覽器V3.1版 下載...2007-04-04