Как отсортировать таблицу по дате ASC или DESC? - PullRequest
0 голосов
/ 10 октября 2019
    <?php $session=$this->session->userdata['id'];
    ?>
        <?php
          foreach ($results as $r) {
            $InitDt = date(('d/m/Y'),strtotime($r->InitDt));
            $EndDt = date(('d/m/Y'),strtotime($r->EndDt));
            if($session=='1'){
            echo '<tr>';
            echo '<td>'.$r->idOs.'</td>';
            echo '<td>'.$r->ClientName.'</td>';
            echo '<td>'.$InitDt.'</td>';
            echo '<td>'.$EndDt.'</td>';
            echo '<td>'.$r->status.'</td>';
            echo  '</td>';
            echo '</tr>';
        }
        else
        {   
            if($session==$r->userId){
            echo '<tr>';
            echo '<td>'.$r->idOs.'</td>';
            echo '<td>'.$r->ClientName.'</td>';
            echo '<td>'.$InitDt.'</td>';
            echo '<td>'.$EndDt.'</td>';
            echo '<td>'.$r->status.'</td>';
            echo '<td>';
            echo '</td>';
            echo '</tr>';
        }
        }
        }
        ?>

Этот код является вызовом для построения таблицы в папке представления codeigniter. Другой код контролирует запрос к базе данных. В этом коде нет ошибок. Вопрос только в том, можно ли выполнить сортировку в PHP (и как это сделать) или если я должен использовать java-скрипт или аналогичный.

пример приведенного выше кода

Ответы [ 2 ]

0 голосов
/ 10 октября 2019
  $(document).ready(function() {
   $('#table_name').DataTable( {
       "order": [[ 3, "desc" ]]
   } );

});

Вы можете использовать Datatable для опции сортировки. Попробуйте приведенный выше код, вернув индексный номер вашего столбца.

Для получения дополнительной информации укажите: - https://datatables.net/examples/basic_init/table_sorting.html

0 голосов
/ 10 октября 2019

Здесь вы можете отсортировать данные двумя способами.

  1. Вы можете отсортировать дату, используя параметры фильтра, такие как вызов ajax, и применить php-запрос, используя порядок по . ваше требование и получите ответ в формате json и заново перерисуйте данные таблицы.
  2. В противном случае вы можете использовать таблицу данных начальной загрузки и применить функцию сортировки к столбцу даты.

ссылка здесьдля таблицы данных: https://datatables.net/examples/styling/bootstrap4

В таблице данных сортировка применяется по умолчанию для всех столбцов. Чтобы удалить сортировку по умолчанию и применить сортировку к определенному столбцу, как показано ниже

var table;
jQuery(document).ready(function () { 
    table = jQuery('#cstm_people_range_list').DataTable({
            "order": [[0,"asc"]],
            "columnDefs": [{ "orderable": false, "targets": "_all" } ]
    });
});

Вывод здесь. Вы можете видеть, что функции сортировки применяются только к первому столбцу.

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...