2013-02-14 133 views
-1

基本上我想限制顯示在我的頁面上的數字的數量,但目前它顯示31個數字,因爲它們是31頁的結果,我想顯示5個鏈接,並在每頁之後遞增,PHP分頁鏈接增量

下面是他們當前正在顯示

[1] [2] [3] [4] [5] [6] [7] [8] etc..

這是我想什麼

[1] [2] [3] [4] [5]

我想我剛纔但是一旦你選擇,例如8號,它會放在中間的那個數和2個鏈接兩邊例如像這樣

[6] [7] [8] [9] [10] 

下面是當前的代碼,我」使用

function showPageNumbers($totalrows,$page,$limit){ 
    $query_string = $this->queryString(); 
    $pagination_links = null;  
    $numofpages = $totalrows/$limit;  
    for($i = 1; $i <= $numofpages; $i++){    
     if($i == $page){ 
      $pagination_links .= '<li class="active"><a href="#">'.$i.'</a></li>'; 
     }else{ 
      $pagination_links .= '<li><a href="?page='.$i.'&'.$query_string.'" title="go to page '.$i.'">'.$i.'</a></li>'; 
     } 
    } 

    if(($totalrows % $limit) != 0){   
     if($i == $page){ 
      $pagination_links .= '<li class="active"><a href="#">'.$i.'</a></li>'; 
     }else{ 
      $pagination_links .= '<li><a href="?page='.$i.'&'.$query_string.'" title="go to page '.$i.'">'.$i.'</a></li>'; 
     } 
    } 
    return $pagination_links; 
} 
+0

第一個問題在這裏,請仔細閱讀該怎麼辦[當你得到答案(http://stackoverflow.com/faq#howtoask) 。 – SparKot 2013-02-14 23:18:50

回答

1

您可以修改了功能類似L:

function showPageNumbers($totalrows, $page, $limit){ 

    $query_string = $this->queryString(); 
    $pagination_links = null; 
    $numofpages = $totalrows/$limit; 

    $linksPerPage = 5; 

    $firstNum = $page - round(($linksPerPage)/2); 
    if($firstNum < 1) 
     $firstNum =1; 

    $lastNum = $firstNum + $linksPerPage -1; 
    if($lastNum > $numofpages) 
     $lastNum = $numofpages; 

    for($i = $firstNum; $i <= $lastNum; $i++){ 
     if($i == $page){ 
      $pagination_links .= '<li class="active"><a href="#">'.$i.'</a></li>'; 
     }else{ 
      $pagination_links .= '<li><a href="?page='.$i.'&'.$query_string.'" title="go to page '.$i.'">'.$i.'</a></li>'; 
     } 
    } 

    return $pagination_links; 
} 
+0

你真棒!非常感謝你 ! – 2013-02-14 23:19:58