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>";
    }
新聞熱點
疑難解答