2015-04-30 35 views
0

我有一個幫助分頁的代碼。在分頁欄上添加第一個和最後一個按鈕

的index.php:

<?php 
$per_page = 10;   // number of results to show per page 

$result = mysqli_query($con,"SELECT * FROM vendor "); 
<? 
$total_results = mysqli_num_rows($result); 
$row = mysqli_fetch_assoc($result); 
$total_pages = ceil($total_results/$per_page);//total pages we going to have 

//-------------if page is setcheck------------------// 
if (isset($_GET['page'])) { 
    $show_page = $_GET['page'];    //it will telles the current page 
    if ($show_page > 0 && $show_page <= $total_pages) { 
     $start = ($show_page - 1) * $per_page; 
     $end = $start + $per_page; 
    } else { 
     // error - show first set of results 
     $start = 0;    
     $end = $per_page; 
    } 
} else { 
    // if page isn't set, show first set of results 
    $start = 0; 
    $end = $per_page; 
} 
// display pagination 
$page = intval($_GET['page']); 

$tpages=$total_pages; 
if ($page <= 0) 
    $page = 1; 
?> 

<div id="tab1" class="tab_content"> 
    <?php 
     $reload = $_SERVER['PHP_SELF'] . "?tpages=" . $tpages; 

      echo "<table class='tablesorter' cellspacing='0'> "; 
       echo "<thead> 
          <tr> 
           <th></th> 
           <th>ID</th> 
           <th>Shopname</th> 
           <th>Instagram account</th> 
          </tr> 
         </thead>"; 

        for ($i = $start; $i < $end; $i++) 
         { 
          if ($i == $total_results) 
           { 
            break; 
           } 

           mysqli_data_seek($result, $i); 

           $data = mysqli_fetch_assoc($result); 
           echo "<tr " . $cls . ">"; 
            echo '<td></td>'; 
            echo '<td>' . $data['id'] . '</td>'; 
            echo '<td>' . $data['fullname_shopname'] . '</td>'; 
            echo '<td>' . $data['username_instagramacnt'] . '</td>'; 

           echo "</tr>"; 
         }   
      echo "</table>"; 

      echo '<div class="pagination" style="margin-left:300px;" >'; 
        if ($total_pages > 1) 
         { 
          echo paginate($reload, $show_page, $total_pages); 
         } 
       echo "</ul> 
      </div>"; 
     ?> 
</div> 

爲paginate.php

代碼
<?php 
function paginate($reload, $page, $tpages) { 
    $adjacents = 2; 
    $prevlabel = "&lsaquo; Prev"; 
    $nextlabel = "Next &rsaquo;"; 
    $out = ""; 
    // previous 
    if ($page == 1) { 
     $out.= "<span>" . $prevlabel . "</span>\n"; 
    } elseif ($page == 2) { 
     $out.= "<li><a href=\"" . $reload . "\">" . $prevlabel . "</a>\n</li>"; 
    } else { 
     $out.= "<li><a href=\"" . $reload . "&amp;page=" . ($page - 1) . "\">" . $prevlabel . "</a>\n</li>"; 
    } 

    $pmin = ($page > $adjacents) ? ($page - $adjacents) : 1; 
    $pmax = ($page < ($tpages - $adjacents)) ? ($page + $adjacents) : $tpages; 
    for ($i = $pmin; $i <= $pmax; $i++) { 
     if ($i == $page) { 
      $out.= "<li class=\"active\"><a href=''>" . $i . "</a></li>\n"; 
     } elseif ($i == 1) { 
      $out.= "<li><a href=\"" . $reload . "\">" . $i . "</a>\n</li>"; 
     } else { 
      $out.= "<li><a href=\"" . $reload . "&amp;page=" . $i . "\">" . $i . "</a>\n</li>"; 
     } 
    } 

    if ($page < ($tpages - $adjacents)) { 
     $out.= "<a style='font-size:11px' href=\"" . $reload . "&amp;page=" . $tpages . "\">" . $tpages . "</a>\n"; 
    } 
    // next 
    if ($page < $tpages) { 
     $out.= "<li><a href=\"" . $reload . "&amp;page=" . ($page + 1) . "\">" . $nextlabel . "</a>\n</li>"; 
    } else { 
     $out.= "<span style='font-size:11px'>" . $nextlabel . "</span>\n"; 
    } 
    $out.= ""; 
    return $out; 
} 

一切工作正常,沒有任何問題,但我想補充一個特點。

目前我正在分頁這樣

enter image description here

我想上一個之前和明年分別後增加第一和最後一個按鈕。除第一頁和最後一頁外,這些按鈕應始終存在。

任何人都可以告訴我如何做到這一點?

回答

0

paginate.php變化對6號線

$out = ""; 

$out = "<li><a href=\"" . $reload . "&amp;page=1\">FIRST PAGE</a>\n</li>"; 
// or maybe without page param for the first page? 

而且return前添加last page link

$out.= "<li><a href=\"" . $reload . "&amp;page=" . $tpages . "\">LAST PAGE</a>\n</li>"; 
+0

似乎是在$ OUT = 「

  • FIRST PAGE \ n
  • 」 一些錯誤; – lyra

    +0

    @lyra:對不起,錯字在那裏。更新。在報價前錯過了反斜槓。 – panther

    相關問題