codeigniter 已触发+数据表->排序依据

snz8szmq  于 2022-12-07  发布在  其他
关注(0)|答案(4)|浏览(160)

我正在使用codeigniter和数据表,我想按列排序选择。
我该怎么做?

$this->datatables->select('col_1, col_2, col_3');
$this->datatables->from('table');

....$this->datatables->order ?!?

谢谢

2izufjch

2izufjch1#

用途:

$this->db->order_by("column name", "desc");
frebpwbc

frebpwbc2#

可以使用aaSorting参数在初始化时对表进行排序.

$(document).ready( function() {
  $('#example').dataTable( {
    "aaSorting": [[2,'asc'], [3,'desc']]
  } );
} );

其中2和3是列索引

6bc51xsx

6bc51xsx3#

您可以使用这种方式,我在这里控制所有需要的值与codeigniter数据表和MYSQL选择包括一个小联接

function get_ComponentList($rowperpage, $row, $search='',$order, $dir)
{ 
$this->db->select('a.component_id, a.component_name as component_name, a.eco_code as eco_code, b.component_name as parent_name');
    $this->db->from('component_info as a');
    $this->db->join('component_info as b', 'b.component_id = a.parent_id', 'left');
    $this->db->order_by($order,$dir);
            if($search != ''){
            $this->db->like('a.component_name', $search);
            $this->db->or_like('a.eco_code', $search);
            $this->db->or_like('b.component_name', $search);
            }    
            $this->db->limit($rowperpage,$row);
           $query = $query->result(); 
    return $query;}
wqnecbli

wqnecbli4#

当你想和$this-〉datatables一起使用时,你需要为它创建一个自定义函数,在Datatables.php库文件中添加下面的自定义函数:

public function corder_by($column, $type = ASC)
{
  $this->order_by[] = array($column, $type);
  $this->ci->db->order_by($column, $type);
  return $this;
}

如果排序类型未定义为“ASC/DESC”,则默认情况下将按“升序”排序。
并将其用作:

$this->datatables->corder_by('column_name','desc');

相关问题