2016-07-15 11 views
1

Ich habe einen Code für die Paginierung in PHP und AJAX für eine Tabelle geschrieben. Auf jeder Seite werden 8 Zeilen der Tabelle angezeigt. Es funktioniert gut bis hier.Hinzufügen von Punkten zwischen den Seitenzahlen

Was ich jetzt brauche ist, um die Paginierung aussieht wie eine Reihe von Zahlen und Punkten zwischen ihnen (1 2 3 .... 27 28 29).

Ich habe diese zwei Dateien für die Paginierung:

conf.php

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <link rel="stylesheet" id="font-awesome-style-css" 
     href="http://phpflow.com/code/css/bootstrap3.min.css" type="text/css" 
     media="all"> 
    <script type="text/javascript" charset="utf8" 
     src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js"> 
    </script> 
</head> 

<body> 

    <div> 
     <p> Table <br/> </p> 
     <div id="target" >Loading ...</div> 

     <?php 
      include('dbconnect.php'); 
      $limit = 8; 
      $sql = "SELECT * FROM places"; 
      $rs_result = mysqli_query($connect,$sql); 
      $c = mysqli_num_rows($rs_result); //count number of rows 
      $total_num_pages = ceil($c/$limit); 
     ?> 

     <div align="center"> 
      <ul class='pagination text-center' id="pagination"> 
      <?php 
      if(!empty($total_num_pages)):for($j=1; $j<=$total_num_pages; $j++): 
       if($j == 1):?> 
        <li class='active' id="<?php echo $j;?>"> 
         <a href='paginate.php?page=<?php echo $j;?> '><?php echo $j;?></a> 
        </li> 
       <?php else:?> 
        <li id="<?php echo $j;?>"> 
         <a href='paginate.php?page=<?php echo $j;?>'><?php echo $j;?></a> 
        </li> 
       <?php endif;?>   
      <?php endfor;endif;?> 
      </ul> 
     </div> 
    </div> 
    <script> 
     jQuery(document).ready(function() { 
     jQuery("#target").load("paginate.php?page=1"); 
      jQuery("#pagination li").live('click',function(e){ 
      e.preventDefault(); 
       jQuery("#target").html('loading...'); 
       jQuery("#pagination li").removeClass('active'); 
       jQuery(this).addClass('active'); 
       var pageNum = this.id; 
       jQuery("#target").load("paginate.php?page=" + pageNum); 
      }); 
      }); 
    </script> 
</body> 

Die zweite ist paginate.php:

<?php 
    include('dbconnect.php'); 

    $limit = 8; 
    if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; }; 
    $start_from = ($page-1) * $limit; 

    $query = "SELECT * FROM places ORDER BY id ASC LIMIT $start_from, $limit"; 
    $result = mysqli_query($connect,$query); 

    if(!$query) 
    { 
     echo mysql_error(); 
    } 
?> 

<?php 
    echo '<p style="color:#003566;font-size:15px;"> &nbsp; You are on page ' .$page. '<br> </p>'; 
    echo '<table border="1" align="center">'; 

    echo '<tr><th>Name</th><th>link</th><th>My date</th><th>End date</th><th>place</th></tr>'; 

    while ($row = mysqli_fetch_assoc($result)) { 
     echo "<tr><td>"; 
     echo $row['name']; 
     echo "</td><td>"; 
     echo $row['link']; 
     echo "</td><td>"; 
     echo $row['date']; 
     echo "</td><td>"; 
     echo $row['end']; 
     echo "</td><td>"; 
     echo $row['place']; 
     echo "</td></tr>"; 
    } 
    echo '</table>'; 
?> 

Kann mir jemand zeigen den Weg, das zu tun?

+0

'if (Bruchpunkt) {Ausgabepunkte}', im Grunde. –

+0

Können Sie bitte den Code anzeigen, der mit meinem Code übereinstimmt? –

Antwort

0
<?php 
$numbers = array(1,2,3,4,5,6,7,8,9,10,11,12); 
$output = ''; 
$counter = 1; 
foreach ($numbers as $number){ 
    if($counter == 4){ 
     $output .= ' ...'; 
    }elseif($counter < 4 || $counter > (count($numbers) -3)){ 
     $output .= ' ' . $number; 
    } 
    $counter++; 
} 

Check this link also

+0

Entschuldigung, aber ich brauche einen Code, der zu meinem Code passt, etwas, das ich zu der Arbeit, die ich bereits getan habe, hinzufügen möchte, ich möchte nicht von vorne anfangen, bitte geben Sie die Lösung an, wenn Sie sie haben. –

+0

Okay lass mich es versuchen. – Ranjan

+0

@FirstOne danke für die Änderung. – Ranjan

Verwandte Themen