Порядок обработки на стороне сервера по умолчанию - PullRequest
0 голосов
/ 06 февраля 2019

Я хочу установить порядок по умолчанию для моей таблицы данных в desc.

Я пытался увидеть значение $ request ["order"] [0] ['dir'] это всегда происходит в порядке возрастания.Есть ли способ установить порядок в порядке убывания?Я добавил свой JS ниже.

 $sqlRecord .= " ORDER BY ". $columns[$request['order'][0]['column']] ." " . $request["order"][0]['dir'] . " LIMIT " . $request["start"] . " ," . $request["length"]. " ";

$.ajax({
    url: "coordinator-activities-table.php",
    method: "POST",
    success: function(data){
        $("#retailer-activities-container").html(data);

        table = [
            { "width": "120px", "orderable": false, "targets": 0 },
            { "width": "80px", "targets": 1 },
            { "width": "150px", "targets": 2 },
            { "width": "120px", "targets": 3 },
            { "width": "150px", "targets": 4 },
            { "width": "150px", "targets": 5 },
            { "width": "150px", "targets": 6 },
            { "width": "150px", "targets": 7 },   
            { "width": "150px", "targets": 8 },
            { "width": "150px", "targets": 9 },
            { "width": "120px", "targets": 10 },
            { "width": "100px", "targets": 11 },
            { "width": "110px", "targets": 12 },
            { "width": "110px", "targets": 13 },
            { "width": "150px", "targets": 14 },
            { "width": "150px", "targets": 15 },
            { "width": "120px", "targets": 16 },
            { "width": "150px", "orderable": false, "targets": 17 }
        ];

        var table = $('#activities-table').DataTable({
            "searching": { "regex": true },
            "paging": true,
            "autoWidth": false,
            "processing": true,
            "serverSide": true,
            "ajax": {
                url: "coordinator-activities-data.php",
                type: "POST",
                "dataType": "json",
                data: {coordinator:coordinator, startdate:startdate, enddate:enddate, regional:regional},
                "complete": function(response) {
                }
            },
            "columnDefs": table,
            "language": {
                "emptyTable": "No data available in table",
                "zeroRecords": "No data available in table",
                "info": "Showing <b>_START_</b> to <b>_END_ of _TOTAL_</b> entries",
                "paginate": {
                    "first":      "First",
                    "last":       "Last",
                    "next":       "Next",
                    "previous":   "Previous"
                },
                search: "_INPUT_",
                searchPlaceholder: "Search..."
            },
            dom: 'Bfrtip',
            buttons: [
                'csv', 'excel', 'pdf'
            ]
        });
    },
    error: function(data){
        console.log("error");
    }
});

Я хочу установить порядок по умолчанию в порядке убывания

1 Ответ

0 голосов
/ 06 февраля 2019

Вы можете изменить данные сортировки, когда datatable делает запрос к серверу следующим образом:

        var firstsort='DESC';

                var table = $('#activities-table').DataTable({
                    "searching": { "regex": true },
                    "paging": true,
                    "autoWidth": false,
                    "processing": true,
                    "serverSide": true,
                    "ajax": {
                        url: "coordinator-activities-data.php",
                        type: "POST",
                        "dataType": "json",
                        data: function (data) {

                            var sort = data.order[0].column;
                            //check condition or remove condition if you want every request with sort DESC
                            if (firstsort != '') {
                                data.order[0].dir = "DESC";
                                firstsort = '';
                            }
                            data['coordinator'] = coordinator, data['regional'] = regional,
                                data['startdate'] = startdate, data['enddate'] = enddate;

                            return data;
                        },
                        "complete": function (response) {
                        }
                    },
                    "columnDefs": table,
                    "language": {
                        "emptyTable": "No data available in table",
                        "zeroRecords": "No data available in table",
                        "info": "Showing <b>_START_</b> to <b>_END_ of _TOTAL_</b> entries",
                        "paginate": {
                            "first": "First",
                            "last": "Last",
                            "next": "Next",
                            "previous": "Previous"
                        },
                        search: "_INPUT_",
                        searchPlaceholder: "Search..."
                    },
                    dom: 'Bfrtip',
                    buttons: [
                        'csv', 'excel', 'pdf'
                    ]
                });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...