JavaScript Datatable.JS / PHP MySQLi排序问题

时间:2018-11-03 19:50:38

标签: javascript php jquery mysql

因此,我正在使用Datatables.JS创建一个从MySQL数据库返回的结果表。当我返回结果时,我试图按DESC顺序显示它们。我尝试在MySQLi查询中使用ORDER BY DESC,这确实会以正确的顺序返回结果,但是,当数据表读取结果时,它会以某种随机顺序显示它们。因此,我尝试使用数据表设置按ID列进行排序,但将该列保持隐藏状态。每当我尝试添加任何代码来处理排序时,排序问题本身都会解决,但是我所有的分页和按钮(例如允许用户选择他们要查看的列的按钮)都消失了。以下是我用来选择此数据表所需的功能和设置的JS,谁能告诉我如何在不破坏ID的情况下将ID列DESC添加到其中?

    $(document).ready(function() {
    $('#datatable').DataTable();

    //Buttons examples
    var table = $('#datatable-buttons').DataTable({
        pageLength: 20,
        lengthChange: false,
        searching: false,
        buttons: ['copy', 'excel', 'pdf', 'colvis']
    });

    table.buttons().container()
        .appendTo('#datatable-buttons_wrapper .col-md-6:eq(0)');
} );

添加顺序:然后选择列并定义顺序似乎破坏了所有其他设置,我失去了分页和默认结果长度以及页面上的所有控制按钮。

$(document).ready(function() {
    $('#datatable').DataTable();

    //Buttons examples
    var table = $('#datatable-buttons').DataTable({

        pageLength: 20,
        lengthChange: false,
        searching: false,
        buttons: ['copy', 'excel', 'pdf', 'colvis'],
        order: [[ 1, desc ]]
    });

    table.buttons().container()
        .appendTo('#datatable-buttons_wrapper .col-md-6:eq(0)');
} );

1 个答案:

答案 0 :(得分:0)

我不知道为什么该解决方案有效,但我仍然不明白是什么原因导致了最初的问题,但是我确实在另一个论坛上的一个松散相关的问题下找到了一段工作代码。我将该代码与现有代码结合起来,从而解决了我的问题。希望这可以帮助可能遇到相同问题的其他人。

ifelse

只是想提到此JS是用于Fonik Bootstrap管理模板一部分的数据表。