首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Ajax对每个mysql结果进行排序

使用Ajax对每个mysql结果进行排序
EN

Stack Overflow用户
提问于 2016-11-29 11:04:16
回答 1查看 394关注 0票数 0

page1.php上,我使用Ajax调用page2.php (车辆或船只的Lijst)。之后,我想使用另一个Ajax查询对结果进行排序。

page1.php上的2个jqueries代码

代码语言:javascript
复制
function display_cars() {
    jQuery.ajax({
        type: 'GET',
        url: 'page2.php?action=cars',
        success: function (msg) {
            $('#show_results').html(msg);
        }
    });
}


function display_boats() {
    jQuery.ajax({
        type: 'GET',
        url: 'page2.php?action=boats',
        success: function (msg) {
            $('#show_results').html(msg);
        }
    });
}

page2.php上,我有mysql查询:

代码语言:javascript
复制
if ($action == "car") {
    $sql = "SELECT *
    FROM table
    WHERE cars = $cars
    ORDER BY date DESC
    ";
}

if ($action == "boats") {
    $sql = "SELECT *
    FROM table
    WHERE boats = $boats
    ORDER BY date DESC
    ";
}

这个mysql查询的结果:

梅塞德斯: 50 宝马: 10 本田: 20

现在,我希望使用对每个结果进行排序(按数量排序)。

我正在考虑使用php会话,但我不确定它是否是正确的解决方案。

EN

回答 1

Stack Overflow用户

发布于 2016-11-29 11:09:14

您可以这样调用ajax

代码语言:javascript
复制
function sort_boats() {
    var data = {
       action:"boats",
       sort:"desc"
    }
    jQuery.ajax({
    type: 'GET',
    url: 'page2.php',
    data:data,
    success: function(msg) {
    $('#show_results').html(msg);
    }
    });
    } 

在php中,尝试如下

代码语言:javascript
复制
if(isset($_GET['action'])&&isset($_GET['sort'])) {
   $action = $_GET['action'];
   $sort = $_GET['sort'];
   $sql = "SELECT *
    FROM table
    WHERE boats = $action 
    ORDER BY date DESC , quantity $sort";
}

您只需在sql查询中使用(假设它是表的列之一)就可以做到这一点。

PS:使用POST更好的安全。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40864289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档