2013-02-14 71 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