为了账号安全,请及时绑定邮箱和手机立即绑定

如何按名称在产品 ASC 和 DESC 上添加过滤器(已经有按 ID 过滤器)

如何按名称在产品 ASC 和 DESC 上添加过滤器(已经有按 ID 过滤器)

PHP
UYOU 2023-03-26 14:23:09
我正在尝试一些可能的解决方案,但没有奏效。因为 SELECT 有一个 ONCHANGE,我不知道如何添加名称排序代码以添加到我的 ID 排序中。按 ID(日期)从最新到最旧排序,我不知道如何使用 sortByNameAsc 和 Desc 进行排序  <select id="sortBy" onchange="searchFilter();">  <option value="">Date: Newest First</option>  <option value="asc">Date: Oldest First</option>  <option id="sortByNameASC" value="asc">Ascending by name</option>  <option id="sortByNameDESC"value="desc">Descending by name</option></select>试图让它与添加变量一起工作function searchFilter(page_num) {  page_num = page_num?page_num:0;  var keywords = $('#keywords').val();  var sortBy = $('#sortBy').val();    var sortByNameASC = $('#sortByNameASC').val();    var sortByNameDESC = $('#sortByNameDESC').val();  $.ajax({    type: 'POST',    url: 'getData.php',    data:'page='+page_num+'&keywords='+keywords+'&sortBy='+sortBy+'&sortByNameASC='+sortByNameASC+'&sortByNameDESC='+sortByNameDESC,    beforeSend: function () {    },    success: function (html) {      $('#postContent').html(html);    }  });}getData.php,所以我想添加 'ORDER BY name ASC 和 DESC,我也尝试在下面添加元素,但没有成功。  if(!empty($_POST['sortBy'])){        $orderSQL = " ORDER BY id ".$_POST['sortBy'];    }else{        $orderSQL = " ORDER BY id DESC";    }$query = $connect->query("SELECT * FROM products $orderSQL");这可能吗?
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

通过使用爆炸修复它:


    $result = $_POST['sortBy'];

      $result_explode = explode('|', $result);

      echo $orderSQL = " ORDER BY ".$result_explode[0]." ".$result_explode[1];

第一个结果 explode 是“name”或者可以是 ID。第二个结果 explode 是 ASC 或 DESC。


查看完整回答
反对 回复 2023-03-26
  • 1 回答
  • 0 关注
  • 89 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信