我使用过这个datatable.net数据表,问题是当我点击排序时,当我在查询中var $table = 'attendance';
var $column = array('DATE','TIME_IN','BREAK_OUT','BREAK_IN','TIME_OUT','TOTAL_TIME','STATUS');
var $order = array('DATE' => 'asc');
public function __construct()
{
parent::__construct();
}
private function _get_datatables_query()
{
$this->db->where('ID_NUM', $_SESSION['EMP_ID']->ID_NUM);
$this->db->from($this->table);
$this->db->order_by('DATE','desc')
$i = 0;
foreach ($this->column as $item)
{
if($_POST['search']['value'])
($i===0) ? $this->db->like($item, $_POST['search']['value']) : $this->db->or_like($item, $_POST['search']['value']);
$column[$i] = $item;
$i++;
}
if(isset($_POST['order']))
{
$this->db->order_by($column[$_POST['order']['0']['column']], $_POST['order']['0']['dir']);
}
else if(isset($this->order))
{
$order = $this->order;
$this->db->order_by(key($order), $order[key($order)]);
}
}
时它不起作用
这是我的模特
{{1}}
除了排序外,一切都很好。
答案 0 :(得分:0)
大多数数据表总是内置自己的排序机制。这就是为什么order by子句看起来不起作用的原因。但是当你点击列的标题时,你应该可以对表进行排序。