2016-07-15 2 views
1

Я написал код для разбивки на страницы в PHP и AJAX для таблицы. На каждой странице будет отображаться 8 строк таблицы. Он отлично работает до сих пор.Добавление точек между номерами разбиения на страницы

Теперь мне нужно сделать так, чтобы разбиение на страницы выглядело как серия чисел и точек между ними, как это (1 2 3 .... 27 28 29).

У меня есть эти два файла для пагинацией:

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> 

Второй 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>'; 
?> 

Может кто-нибудь показать мне способ сделать это?

+0

', если (в точке разрыва) {выходных точек}', в основном. –

+0

Можете ли вы показать код, который соответствует моему коду, пожалуйста? –

ответ

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

Извините, но мне нужен код, который подходит моему коду, что-то добавить в работу, которую я уже сделал, я не хочу снова начинать с нуля, пожалуйста, предоставьте решение, если оно у вас есть. –

+0

Хорошо, дайте мне попробовать. – Ranjan

+0

@FirstOne поблагодарить за изменение. – Ranjan

Смежные вопросы