使用PHP,MYSql和Ajax的分页无法正常工作

时间:2019-12-12 11:43:49

标签: php html mysql ajax

我有一个表从数据库中获取数据并使用PHP在页面上显示。我已经使用Ajax,PHP和MySQL创建了分页。但是,当我单击页码时,不管我单击哪个页面,有时它都在工作,并且表有时在第一页上显示记录。请帮助我解决这个问题,我很久以来一直在尝试解决问题,我不能。我的主页如下:.....

<!DOCTYPE html>
<html lang="en" dir="ltr">

<head>
  <meta charset="utf-8">
  <title>Load Data without page refresh</title>

  <!--<link rel="stylesheet" href="style/css/bootstrap.min.css">-->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
  <!--<script src="scripts/js/bootstrap.min.js"></script>-->
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
  <!--<script src="scripts/js/jquery.min.js"></script>-->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
</head>

<body>
  <br /><br />
  <div class="container">
    <h3 align="center">Pagintation without page refresh</h3>
    <div class="table-responsive" id="pagination_data">

    </div>
  </div>
</body>

</html>
<script>
  $(document).ready(function() {
    load_data();

    function load_data(page) {
      $.ajax({
        url: "pagination.php",
        method: "POST",
        data: {
          page: page
        },
        success: function(data) {
          $('#pagination_data').html(data);
        }
      })
    }
    $(document).on('click', '.pagination_link', function() {
      var page = $(this).attr("id");
      //alert(page);
      load_data(page);
    });
  });
</script>

pagination.php

<?php  
 //pagination.php  
 $connect = mysqli_connect("localhost", "root", "", "testing");  
 $record_per_page = 5;  
 $page = '';  
 $output = '';  
 if(isset($_POST["page"]))  
 {  
      $page = $_POST["page"];  
 }  
 else  
 {  
      $page = 1;  
 }  
 $start_from = ($page - 1)*$record_per_page;  
 $query = "SELECT * FROM tbl_student ORDER BY student_id DESC LIMIT $start_from, $record_per_page";  
 $result = mysqli_query($connect, $query);  
 $output .= "  
      <table class='table table-bordered'>  
           <tr>  
                <th width='50%'>Name</th>  
                <th width='50%'>Phone</th>  
           </tr>  
 ";  
 while($row = mysqli_fetch_array($result))  
 {  
      $output .= '  
           <tr>  
                <td>'.$row["student_name"].'</td>  
                <td>'.$row["student_phone"].'</td>  
           </tr>  
      ';  
 }  
 $output .= '</table><br /><div align="center">';  
 $page_query = "SELECT * FROM tbl_student ORDER BY student_id DESC";  
 $page_result = mysqli_query($connect, $page_query);  
 $total_records = mysqli_num_rows($page_result);  
 $total_pages = ceil($total_records/$record_per_page);  
 for($i=1; $i<=$total_pages; $i++)  
 {  
      $output .= "<span class='pagination_link' style='cursor:pointer; padding:6px; border:1px solid #ccc;' id='".$i."'>".$i."</span>";  
 }  
 $output .= '</div><br /><br />';  
 echo $output;  
 ?> 

0 个答案:

没有答案
相关问题