2016-03-28 3 views
0

私は何をしていないのか分かりません。最後のページに次のリンクが消え、前のリンクが表示されませんでした。

<?php 
    $sql = "SELECT COUNT(*) from customers"; 
    $query = mysql_query($sql); 
    $row = mysql_fetch_row($query); 
    $rows = $row[0]; 
    $page_rows = 3; 
    $last = ceil($rows/$page_rows); 
    if($last<1) { 
     $last = 1; 
    } 
    $pagenum = 1; 
    if(isset($_GET['pn'])) {   
     $pagenum = preg_replace('#[^0-9]#','',$_GET['pn']); 
    } 
    if($pagenum<1) { 
     $pagenum=1; 
    } else 
     if($pagenum>$last) { 
      $pagenum = $last; 
     } 

    $start = ($pagenum-1)*$page_rows; 
    $end = $page_rows; 
    $textline ="page<b>$pagenum</b> of <b>$last</b>" ; 
    $paginationCtrl=''; 
    if($last!=1) { 
     if($pagenum>1) { 
      // here i am giving the previous link to variable pagination. 
      $previous = $pagenum-1; 
      $paginationCtrl .= '<a href="'.$_SERVER['PHP_SELF'].'?  pn='.$previous.'">Previous</a>&nbsp;&nbsp;'; 

      //If i print this this variable then it shows it value. 

      for($i=$pagenum-4; $i<$pagenum; $i++) { 
       if($i>0) { 
        $paginationCtrl .= '<a href="'.$_SERVER['PHP_SELF'].'?pn='.$i.'">'.$i.'</a>&nbsp;&nbsp;'; 
       } 
      } 
     } 
     $paginationCtrl=''.$pagenum.'&nbsp;'; 
     for($i=$pagenum+1; $i<=$last; $i++) {     
      $paginationCtrl .= '<a href="'.$_SERVER['PHP_SELF'].'?pn='.$i.'">'.$i.'</a>&nbsp;&nbsp;'; 
      if($i>=$pagenum+4) { 
       break; 
      } 
     } 
     if($pagenum!=$last) { 
      // Here i am defiinig next link which appeared untill the last page is clicked. if user is on last page it also disappeared. 

      $next = $pagenum+1; 
      $paginationCtrl .= '&nbsp;&nbsp;<a href="'.$_SERVER['PHP_SELF'].'?pn='.$next.'">Next</a>'; 
     } 
    } 
?> 
<div class="box-body"> 
    <table id="example2" class="table table-bordered table-hover"> 
     <thead>      
      <tr> 
       <th>Customer Name</th>        
      </tr> 
     </thead> 
     <tbody> 
<?php    
     $sql2 = "SELECT * from customers order by customer_id DESC LIMIT $start,$end"; 
     $query2 = mysql_query($sql2); 
     while($row = mysql_fetch_array($query2)) { ?> 
      <tr> 
      </tr> 
     <?php } ?> 
      <tr><td></td></tr> 
     </tbody>         
    </table> 

ここでは1 2 3と同じように表示され、2ページにある場合は3と表示されます。

<div><?php echo $paginationCtrl; ?> </div> 

合計3ページあります。私は前のリンクが現れていない2ページ目です。私が最後のページにいたら、次のリンクも消えてしまった。そして、だけ以前のページやリンクが最後のページ

答えて

0

を示さなかっ次のリンクを3ページを示すpaginationctrl変数は、はい

を消滅が、それは良いです。最後のページには、次のページはありません。

あなたはアクティブではありませんが、「次」あなたはこのようなもので、あなたのコードを変更することができますリンクを示したい場合:

if($pagenum!=$last) 
{ 
    $next = $pagenum+1; 
    $paginationCtrl .= '&nbsp;&nbsp;<a href="'.$_SERVER['PHP_SELF'].'?pn='.$next.'">Next</a>'; 
} 
else 
{ 
    $paginationCtrl .= '&nbsp;&nbsp;<div class="inactive">Next</div>'; 
} 

以前のリンクは

を開始から終了までを示したことはありませんあなたが持っていますタイプミス。

$paginationCtrl .= '' . $pagenum . '&nbsp;'; 
+0

ありがとう:と

$paginationCtrl=''.$pagenum.'&nbsp;'; 

:この行を置き換えます。今それは解決される。 – user2806214