PHP ajax加载结果并排序分页

标签 php mysql ajax pdo

我有这个工作脚本来通过 Ajax 自动加载和分页结果来获取成员列表。

AJAX:

$(document).ready(function() {
 $("#results").load("get_result.php"); 
  $("#results").on("click",".paginations a", function (e){
    e.preventDefault();
    var page = $(this).attr("data-page");
    $("#results").load("get_result.php",{"page":page}, function(){ 
    });
  });
});

输出:

<div class="col-md-2">
  <h1>Name</h1>
  <p>Age</p>
  <p>City</p>
  <p>ID</p>
</div> 

现在,我需要在相同的代码中添加 - sorting by - 选项:

<ul>
  <li><button onclick="sortby(age)">Age</button></li>
  <li><button onclick="sortby(name)">Name</button></li>
  <li><button onclick="sortby(city)">City</button></li>
  .....
</ul>

我尝试使用我的 AJAX 知识 - 低:)- 使用下面的代码,并且默认情况下它工作正常(结果和分页),没有排序。

$(document).ready(function() {
  var sortby="";
  $("#results").load("get_result.php",{"sortby":sortby}); 
  $("#results").on("click",".paginations a", function (e){
    e.preventDefault();
    var page=$(this).attr("data-page");
    $("#results").load("get_result.php",{"sortby":sortby,"page":page}, function(){ 
    });
  });
});

PHP: - PHP 完全没有问题。

if(isset($_POST)){
  if ($_POST['sortby']){
    $sql=$db->query("SELECT * FROM members WHERE city=? ORDER BY city DESC");
    ............
  } else {
    $sql=$db->query("SELECT * FROM members ORDER by id");
    ............
  }
}

那么,我如何将 sortBy 值传递/调用到 ajax 内部?

最佳答案

您可以在 ajax url 上传递 sortby,例如 $("#results").load("get_result.php?sortby=name") 并在服务器端获取该参数

关于PHP ajax加载结果并排序分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50130550/

相关文章:

javascript - AJAX 列表更新,获取新元素并计数

php - API Explorer 不使用 URL 参数

php - PHP 中的数组查找速度;长缓存键

php - 使用 php 和 mysql 构建网站的更有效方法(兑现还是查询?)

mysql - Cakephp 1.3.14 没有加载数据库模式

java - 关于从 HTML 中的复选框值更新 MySql 数据库的建议

php - Backbone.js model.destroy() 不发送删除请求

mysql - 为什么两个不同的 mysql 函数在对从单个 mysql_query() 检索的数据执行时返回不同的行?

mysql - Moodle 和文件格式错误

Javascript数组调试,范围问题