Advertisement
Guest User

model_serverside

a guest
Apr 9th, 2020
350
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.04 KB | None | 0 0
  1.     var $table = 'tb_users';
  2.     var $column_order = array('email','level','active','last_login',null);
  3.     var $column_search = array('email','fullname');
  4.     var $order = array('users_id' => 'asc');
  5.    
  6.     private function _get_datatables_query()
  7.     {
  8.         //query ambil data dari tabel db
  9.         $this->db->from($this->table);
  10.  
  11.         $i = 0;
  12.      
  13.         foreach ($this->column_search as $item)
  14.         {
  15.             //jika melakukan pencarian
  16.             if($_POST['search']['value']) // if datatable send POST for search
  17.             {
  18.                  
  19.                 if($i===0)
  20.                 {
  21.                     $this->db->group_start();
  22.                     $this->db->like($item, $_POST['search']['value']);
  23.                 }
  24.                 else
  25.                 {
  26.                     $this->db->or_like($item, $_POST['search']['value']);
  27.                 }
  28.  
  29.                 if(count($this->column_search) - 1 == $i)
  30.                     $this->db->group_end();
  31.             }
  32.             $i++;
  33.         }
  34.         //jika melakukan klik header row tabel
  35.         if(isset($_POST['order']))
  36.         {
  37.             $this->db->order_by($this->column_order[$_POST['order']['0']['column']], $_POST['order']['0']['dir']);
  38.         }
  39.         else if(isset($this->order))
  40.         {
  41.             $order = $this->order;
  42.             $this->db->order_by(key($order), $order[key($order)]);
  43.         }
  44.     }
  45.    
  46.     function get_datatables()
  47.     {
  48.         $this->_get_datatables_query();
  49.         if($_POST['length'] != -1)
  50.         $this->db->limit($_POST['length'], $_POST['start']);
  51.         $query = $this->db->get();
  52.         return $query->result();
  53.     }
  54.  
  55.     //hitung jumlah data yang terfilter ketika search
  56.     function count_filtered()
  57.     {
  58.         $this->_get_datatables_query();
  59.         $query = $this->db->get();
  60.         return $query->num_rows();
  61.     }
  62.  
  63.     //hitung jumlah data yang ditampilkan
  64.     public function count_all()
  65.     {
  66.         $this->db->from($this->table);
  67.         return $this->db->count_all_results();
  68.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement