如何对已经从数据库中取出的数据进行排序

How to sort the data that is already pulled out of the databse?

本文关键字:数据 排序 数据库      更新时间:2023-09-26

我基于一个SQL表创建了一个HTML表。默认情况下,HTML按照产品购买日期排序。我想创建一个下拉列表,其中包含按价格、数量等排序的选项。

我不知道我是否应该在Javascript或SQL中做这个排序。我认为在Javascript中更容易做到这一点,但我不知道怎么做。如果我必须通过SQL排序,那么我必须再次访问数据库。我想知道是否有一种方法,我可以使用这个已经存在的HTML表来做排序?

您可以使用sorttable.js。点击此链接获取更多参考信息…

通过这种方式,表的内容将根据标题点击进行排序,而不需要再次从数据库中获取数据。

查看我创建的Fiddle,它是我能想到的最基本的排序功能,根据您的喜好自定义它

这是JS

$('[data-sort]').click(function(){
    $this = $(this);
    colIndex = $this.index();
    $tbody = $this.closest('table').find('tbody');
    $rows = $tbody.find('tr');
    $rows.sort(function(a, b){
        var keyA = a.children[colIndex].innerText;
        var keyB = b.children[colIndex].innerText;
        // Compare the 2 dates
        if(keyA < keyB) return -1;
        if(keyA > keyB) return 1;
        return 0;
    });
    console.log($rows);
    $tbody.html($rows)
});

这个代码的布局方式你必须将你的数据放在tbody中而将你的排序上下文放在thead