學習PHP,一定會遇到操作MYSQL數據庫,而且會對數據庫裏的數據做分頁顯示出來的問題,下面寫一個小例子學習一下PHP分頁的方法。
PHP分頁有很多方法,今天我們就用一個小例子演示一下這個功能。
複製代碼 代碼如下:
$result = "<P class="page-num"><ul class="fn-clear">";
// 上一頁
if ($offset>0) {
$result .= "<li>
<a href="".$url.'offset='.($offset-$maxrow)."">Prev</a>
</li>";
}
$pages = $allPageNums; //總頁數
$page = $curPage; //當前頁數
$page_len = 9;
$page_len = ($page_len%2)?$page_len:$pagelen+1;//頁碼個數
$pageoffset = ($page_len-1)/2;//頁碼個數左右偏移量
if($pages>$page_len){
//如果當前頁小於等於左偏移
if($page<=$pageoffset){
$init=1;
$max_p = $page_len;
}else{//如果當前頁大於左偏移
//如果當前頁碼右偏移超出最大分頁數
if($page+$pageoffset>=$pages+1){
$init = $pages-$page_len+1;
$max_p = $pages;
}else{
//左右偏移都存在時的計算
$init = $page-$pageoffset;
$max_p = $page+$pageoffset;
}
}
} else {
$init = 1;
$max_p = $pages;
}
for($i=$init; $i<=$max_p; $i++) {
if ( $i == $curPage ) {
$result .= "<li class="on"><a href="".$url.'offset='.($i*$maxrow)."" >$i</a></li>";
continue;
}
$result .= "<li><a href="".$url.'offset='.(($i-1)*$maxrow)."">$i</a></li>";
}
// 打印下一頁
if ( $allnums > ($offset+$maxrow) ) {
$result .= "<li>
<a href="".$url.'offset='.($offset+$maxrow)."">Next</a>
</li>";
}