2013-03-06 44 views
2

現在我的分頁會出現這樣的事分頁顯示最大值,並限制其餘

[1] [2] [3] [4] [5] [6] [7] [8] [9]

我怎麼會讓它出現這樣

[1] [2] [3] [4] [5] ... [9]

<?php 
$per_page = 10; 
$pages_query = mysql_query ("SELECT COUNT(`message_id`) FROM `messages`") or die(mysql_error()); 
$pages = ceil(mysql_result ($pages_query, 0)/$per_page); 
$page = (isset ($_GET['page'])) ? (int) $_GET['page'] : 1; 
$start = ($page - 1) * $per_page; 
?> 

相關的,如果聲明迴音分頁

<?php 
    if ($pages >=1 && $page <= $pages) { 
     for ($x=1; $x<=$pages;$x++) { 
      echo "<a href=\"?page=" .$x."\">".$x."</a>"; 
     } 
    } 
?> 
+0

[offtopic]當你擁有龐大的數據進行管理,而不是把他們在多個頁面,把它們放在一個頁面,但最初只顯示少量結果,例如,10.當用戶向下滾動時,使用XMLHttpRequest異步加載其他內容。就像谷歌用Image搜索或像DuckDuckGo一樣。[/ offtopic]。 – ShuklaSannidhya 2013-03-06 08:03:21

回答

5

試試這個:

<?php 
     $link = ""; 
// $page = $_GET['page']; 
// $pages=20; // Hardcoded for testing purpose 
    $limit=5 ; 
    if ($pages >=1 && $page <= $pages) 
    { 
     $counter = 1; 
     $link = ""; 
     if ($page > ($limit/2)) 
      { $link .= "<a href=\"?page=1\">1 </a> ... ";} 
     for ($x=$page; $x<=$pages;$x++) 
     { 

      if($counter < $limit) 
       $link .= "<a href=\"?page=" .$x."\">".$x." </a>"; 

      $counter++; 
     } 
     if ($page < $pages - ($limit/2)) 
     { $link .= "... " . "<a href=\"?page=" .$pages."\">".$pages." </a>"; } 
    } 

    echo $link; 
?> 

OUTPUT:

//At page=1 
1 2 3 4 ... 20 

//At page=12 
1 ... 12 13 14 15 ... 20 

//At page=18 
1 ... 18 19 20 
3
<?php 
    if ($pages >=1 && $page <= $pages) { 
     $counter = 1; 
     $link = ""; 
     for ($x=1; $x<=$pages;$x++) { 
      if($counter < 5) 
       $link .= "<a href=\"?page=" .$x."\">".$x."</a>"; 

      $counter++; 
     } 
     $link .= "..."; 
     $link .= "<a href=\"?page=" .$pages."\">".$pages."</a>"; 
    } 
    echo $link; 
?> 
+0

這一行有一個語法錯誤,我會嘗試修復它,但是你知道是什麼原因造成的嗎? $ link。=「...」。 ".$pages."; – thedullmistro 2013-03-06 08:06:38

+0

看起來不對......它會一直顯示1234..20,不管你在哪個頁面 – Makesh 2013-03-06 08:07:42

+0

@Makesh - 是的,你是對的,我們還需要檢查那個條件。但在這裏只是詢問有關顯示那個'...'格式的長項目列表 – 2013-03-06 08:10:15