PHP — Сортировка записи таблицы в порядке возрастания по отношению к одному из столбцов

#php #arrays #columnsorting

Вопрос:

скриншот прилагается

Следующий код отображает таблицу из 3 столбцов с чередующимися столбцами строк. В столбцах указаны название компании, файл и дата крайнего срока (дата закрытия) из таблицы набора персонала. Это для внешнего интерфейса, и администраторы вводят данные в серверную часть.

Строки в настоящее время отображаются в порядке убывания, т. е. запись даты с последней датой набора находится вверху.

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

Приложение написано на CakePHP, и я не хочу менять контроллер.

Как я могу это сделать? Спасибо.

 lt;table class="table table-striped table-hover"gt;  lt;thead class="blue"gt;  lt;trgt;  lt;th width="30%"gt; Company lt;/thgt;  lt;th width="50%"gt; File lt;/thgt;  lt;th width="20%"gt; Closing Date lt;/thgt;  lt;/trgt;  lt;/theadgt;  lt;tbodygt;  lt;?php foreach ($recruitments as $key=gt;$recruitment): ?gt;  lt;tr class="gradeX lt;?= $key % 2 == 1 ? 'even' : 'odd' ?gt;" role="row"gt;  lt;tdgt;  lt;?= !empty($recruitment-gt;Companies['name']) ? $recruitment-gt;Companies['name']:$recruitment-gt;othercompany ?gt;  lt;/tdgt;    lt;tdgt;  lt;?php if($recruitment-gt;pdf): ?gt;  lt;a href="lt;?= $this-gt;request-gt;webroot.'uploads/recruitmentfile/'.h($recruitment-gt;pdf); ?gt;" title="Open File" target="_blank"gt;lt;i class="fa fa-file-pdf-o fa-lg font-red-mint"gt;lt;/igt;  lt;?php $file=explode('_',$recruitment-gt;pdf); echo $file[1]?$file[1]:$recruitment-gt;pdf; ?gt;  lt;/agt;  lt;?php endif; ?gt;  lt;/tdgt;  lt;!--lt;tdgt;lt;?= h($recruitment-gt;closeDate) ?gt;lt;/tdgt;--gt;  lt;tdgt;lt;?= $recruitment= date("d F Y", strtotime($recruitment-gt;closeDate)); ?gt;  lt;/tdgt;  lt;/trgt;  lt;?php endforeach; ?gt;  lt;/tbodygt;  lt;/tablegt;  

Комментарии:

1. Если вы используете соединение MySQL, то напрямую используйте order by в запросе mysql или, если вы не используете какое-либо соединение с базой данных, затем используйте функцию array_sort.

2. Спасибо, но мне нужно точное решение с кодом, если это возможно.

3. Почему вы не хотите менять контроллер? Это кажется совершенно правильным, что нужно изменить.

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

5. Он также должен отделять администратора от публичной логики на два разных контроллера. Если вы не выполните сортировку в контроллере, при отображении результатов во время разбиения на страницы возникнут несоответствия.