【问题标题】:pagination are not working on same page?分页不在同一页面上工作?
【发布时间】:2017-05-24 08:46:44
【问题描述】:

index.php:

<script>
$(document).ready(function(){
  $("#submit2").click(function(){
    course = $("#courses").val();
    field2 = $("#field2").val();
    $("#imagen").show();
    $.ajax({
      type:"POST",
      data:{"courses":course,"field2":field2},
      url:"college.php",
      success:function(data){
        $("#imagen").hide();
        $("#popular_colleges").html(data);
      }
    });
  });
});
</script>

<img id="imagen" src="please.gif">
<div id ="popular_colleges"></div>

college.php

<?php
  $course = $_POST['courses'];
  $field2 = $_POST['field2'];
  $per_page=10;
  if (isset($_GET["page"])) 
  {
  $page = $_GET["page"];
  }
  else {
  $page=1;
  }
  $start_from = ($page-1) * $per_page;
  $sql = "select * from college where course like '%,$course,%' LIMIT $start_from, $per_page";
  $result = mysqli_query($link,$sql);
  while($row = mysqli_fetch_array($result))
  {
      echo $row['logo'];
      echo $row['collegename'];
      echo $row['stream'];
  }
?>

<?php
  $query = "select * from colleges";
  $result = mysqli_query($link, $query);
  $total_records = mysqli_num_rows($result);
  $total_pages = ceil($total_records / $per_page);
  echo "<center><a href='index.php?page=1' style='padding:10px;'>".'First Page'."</a>";
  $skipped = false;
    for ($i = 1; $i <= $total_pages; $i++)  {
        if ($i < 3 || $total_pages- $i < 3 || abs($page - $i) < 3) {
            if ($skipped)
                echo '<span> ... </span>';
            $skipped = false;
            echo "<a href='index.php?page=" . $i . "' style='padding:5px;'>" . $i . "</a>";
        } else {
            $skipped = true;
        }
    }
  echo "<a href='index.php?page=$total_pages' style='padding:10px;'>".'Last Page'."</a></center>";
  ?>

在此代码中,当我单击 submit2 按钮时,它会显示分页,但是当我单击任何分页编号时,它将重新加载同一页面,但我希望在单击分页编号时不要加载页面并在同一页。

【问题讨论】:

    标签: php jquery mysqli


    【解决方案1】:

    index.php?page=,但是你没有对 index.php 中的页面变量做任何事情。我可以看到您在college.php 中使用它,但college.php 没有收到页面变量。

    您正在发送 POST 请求并尝试从 $_GET 获取页面。 You can only have one verb (POST, GET, PUT, ...) when doing an HTTP Request.

    您正在通过 AJAX 向 college.php 发送数据。

    data:{"courses":course,"field2":field2}
    

    如您所见,您没有发送页面。您还需要发送页面。

    data:{"courses":course,"field2":field2, "page": page}
    

    并使用$_POST['page'] 而不是$_GET['page']

    【讨论】:

    • 正如你所说,我正在发送数据:{"courses":course,"field2":field2, "page": page} 并且还使用 $_POST['page '] 而不是 $_GET[ 'page'] 但它什么也没显示。 @jurij
    • 在没有初始化的情况下放置页面不会做任何事情。您需要使用 javascript 获取页面 onclick 的值。这将需要一些编程。我可以指出问题出在哪里,但我不会为你编码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多