如何在codeigniter中按日期降序获取订单
Posted
技术标签:
【中文标题】如何在codeigniter中按日期降序获取订单【英文标题】:How to get order by date descending order in codeigniter 【发布时间】:2016-12-16 19:46:15 【问题描述】:我想显示时间戳降序,但我的查询不起作用,这是我的代码:
$this->db->order_by("DATE(field_name)", "DESC");
我得到这个,但是当我在jquery数据表中显示时,它变成了升序,如何解决这个问题?
【问题讨论】:
分享整个查询? 试试这个 $this->db->order_by(STR_TO_DATE(field_name, '%M %d, %Y'), "DESC"); 【参考方案1】:您需要在查询中删除 DATE。
请在下面试试
$this->db->order_by("field_name", "DESC");
here filed_name = 您的表字段值(在这种情况下为时间戳。)
另外,如果它不起作用,请提供您的错误。
【讨论】:
【参考方案2】:在 jQuery Datatable 中,您有一个配置选项来对表进行排序,默认情况下是第一个。如果您想保持特定的数据顺序,请确保它处于良好的位置。
$('#myDataTable').DataTable(
order: [[0, 'desc']],
);
第一个参数0
是要排序的列的索引(这里是第一列,1
是第二列,等等)。
或者,您可以禁用数据表排序,将一个空数组传递给order
选项:
$('#myDataTable').DataTable(
order: [],
);
【讨论】:
【参考方案3】:这里的问题是 Jquery Datatable,默认情况下按表的第一列排序。
如果启用排序(排序),则 DataTables 将在初始化期间执行第一次通过排序。使用此参数,您可以定义执行订单的列以及排序方向。顺序必须是数组数组,每个内部数组由两个元素组成:
在Datatables Order上查看更多信息
这里有两个选项,都在JS代码中,不用担心php代码。
-
数据表中的顺序:
像这样:
$("#table").dataTable(
"order":[[positionofcolumtoorder,'desc']]
);
-
在初始加载期间从 Datatables 中删除 order 函数
这样:
$('#table').dataTable(
"order": []
);
【讨论】:
【参考方案4】:试试这个代码:
$this->db->order_by("field_name", "DESC");
【讨论】:
【参考方案5】:$this->db->order_by("field_name", "DESC");
【讨论】:
以上是关于如何在codeigniter中按日期降序获取订单的主要内容,如果未能解决你的问题,请参考以下文章
如何在Android Firebase实时数据库中按降序获取孩子[重复]