學習PHP,一定會遇到操作MYSQL資料庫,而且會對資料庫裡的資料做分頁顯示出來的問題,下面寫一個小例子學習一下PHP分頁的方法。
PHP分頁有很多方法,今天我們就用一個小例子示範一下這個功能。
代碼如下:
$result = "<div 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>"; }