Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var $table = 'applications';
- var $column = array( 'Firstname','Lastname','Birthdate','PESEL','Phone' ); //set column field database for order and search
- var $order = array('ID' => 'desc'); // default order
- public function __construct()
- {
- parent::__construct();
- $this->load->database();
- }
- private function _GetDataTablesQuery()
- {
- $this->db->from($this->table);
- $i = 0;
- foreach ($this->column as $item) // loop column
- {
- if($_POST['search']['value']) // if datatable send POST for search
- {
- if($i===0) // first loop
- {
- $this->db->group_start(); // open bracket. query Where with OR clause better with bracket. because maybe can combine with other WHERE with AND.
- $this->db->like($item, $_POST['search']['value']);
- }
- else
- {
- $this->db->or_like($item, $_POST['search']['value']);
- }
- if(count($this->column) - 1 == $i) //last loop
- $this->db->group_end(); //close bracket
- }
- $column[$i] = $item; // set column array variable to order processing
- $i++;
- }
- if(isset($_POST['order'])) // here order processing
- {
- $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)]);
- }
- }
- function GetApplications()
- {
- $this->_GetDataTablesQuery();
- if($_POST['length'] != -1)
- $this->db->limit($_POST['length'], $_POST['start']);
- $query = $this->db->get();
- return $query->result();
- }
- function CountFiltered()
- {
- $this->_GetDataTablesQuery();
- $query = $this->db->get();
- return $query->num_rows();
- }
- public function CountAll()
- {
- $this->db->from($this->table);
- return $this->db->count_all_results();
- }
Add Comment
Please, Sign In to add comment