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

时间:2015-09-02 17:18:30

标签: javascript mysql

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

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

2 个答案:

答案 0 :(得分:0)

您可以使用sorttable.js。请查看此link以获取更多参考信息......

通过这个,表格内容将根据标题点击进行排序,无需再次从数据库中获取数据。

答案 1 :(得分:0)

查看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