Advertisement
sanca

models Berita

Oct 23rd, 2017
404
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.21 KB | None | 0 0
  1. private function _get_datatables_query()
  2.     {
  3.        
  4.         $this->db->from($this->table);
  5.  
  6.         $i = 0;
  7.    
  8.         foreach ($this->column_search as $item) // loop column
  9.         {
  10.             if($_POST['search']['value']) // if datatable send POST for search
  11.             {
  12.                
  13.                 if($i===0) // first loop
  14.                 {
  15.                     $this->db->group_start(); // open bracket. query Where with OR clause better with bracket. because maybe can combine with other WHERE with AND.
  16.                     $this->db->like($item, $_POST['search']['value']);
  17.                 }
  18.                 else
  19.                 {
  20.                     $this->db->or_like($item, $_POST['search']['value']);
  21.                 }
  22.  
  23.                 if(count($this->column_search) - 1 == $i) //last loop
  24.                     $this->db->group_end(); //close bracket
  25.             }
  26.             $i++;
  27.         }
  28.        
  29.         if(isset($_POST['order'])) // here order processing
  30.         {
  31.             $this->db->order_by($this->column_order[$_POST['order']['0']['column']], $_POST['order']['0']['dir']);
  32.         }
  33.         else if(isset($this->order))
  34.         {
  35.             $order = $this->order;
  36.             $this->db->order_by(key($order), $order[key($order)]);
  37.         }
  38.     }
  39.  
  40.     function get_datatables()
  41.     {
  42.         $this->_get_datatables_query();
  43.         if($_POST['length'] != -1)
  44.         $this->db->limit($_POST['length'], $_POST['start']);
  45.         $query = $this->db->get();
  46.         return $query->result();
  47.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement