繁体   English   中英

如何在Codeigniter中按日期降序获取订单

[英]How to get order by date descending order in codeigniter

我想显示时间戳的降序,但是查询不起作用,这是我的代码:

 $this->db->order_by("DATE(field_name)", "DESC");

我得到了,但是当我在jquery数据表中显示时,它变成了升序,如何解决呢?

您需要在查询中删除DATE。

请在下面尝试

$this->db->order_by("field_name", "DESC");

这里filed_name =您的表字段值(在这种情况下为时间戳)。

另外,如果它不起作用,请提供您的错误。

在jQuery Datatable中,您有一个config选项可以对表进行排序,默认情况下是第一个。 如果要保留特定的数据顺序,请确保其位置正确。

$('#myDataTable').DataTable({
    order: [[0, 'desc']],
});

第一个参数0是列进行排序(在此,第一列,的指数1为第二个,等等)。

或者,您可以禁用Datatable排序,将空数组传递给order选项:

$('#myDataTable').DataTable({
    order: [],
});

试试这个代码:

$this->db->order_by("field_name", "DESC");

这里的问题是Jquery Datatable,默认情况下按表的第一列排序。

如果启用了排序(排序),则DataTables将在初始化期间执行首个通过顺序。 使用此参数,您可以定义要执行订单的列以及排序方向。 顺序必须是一个数组数组,每个内部数组都包含两个元素:

查看有关数据表顺序的更多信息

您在这里有两个选择,所有这些都在JS代码中,不用担心php代码。

  1. 数据表中的顺序:

像这样:

$("#table").dataTable({
    "order":[[positionofcolumtoorder,'desc']]
});
  1. 在初始加载期间从数据表中删除订单功能

这样:

$('#table').dataTable( {
    "order": []
} );
$this->db->order_by("field_name", "DESC");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM