Novinaldi

Modeldata.php

Jan 28th, 2021
433
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. class Modeldata extends CI_Model
  3. {
  4.     var $column_order = array(null, 'jualfaktur', 'jualtgl', 'jualnapel', null, null, 'jualtotalbersih', 'jualuserinput', null); //field yang ada di table user
  5.     var $column_search = array('jualfaktur', 'jualtgl', 'jualnapel', 'jualuserinput', 'membernama', 'jualmemberkode'); //field yang diizin untuk pencarian
  6.     var $order = array('jualtgl' => 'desc'); // default order
  7.  
  8.     private function _get_datatables_query($tglawal, $tglakhir, $users)
  9.     {
  10.  
  11.         $username = $this->session->userdata('username');
  12.         $idgrup = $this->session->userdata('idgrup');
  13.         // if ($idgrup == 1) {
  14.         if ($tglawal == '' && $tglakhir == '' && $users == '') {
  15.             $this->db->select('jualfaktur,jualtgl,jualtotalkotor,jualtotalbersih,jualstatusbayar,jualnapel,jualuserinput,jualstatuslunas,jualtglbayarkredit,jualmemberkode,membernama')
  16.                 ->from('penjualan')
  17.                 ->join('member', 'jualmemberkode=memberkode', 'left')
  18.                 ->order_by('jualtgl', 'desc');
  19.         } else {
  20.             if ($users == "") {
  21.                 $this->db->select('jualfaktur,jualtgl,jualtotalkotor,jualtotalbersih,jualstatusbayar,jualnapel,jualuserinput,jualstatuslunas,jualtglbayarkredit,jualmemberkode,membernama')
  22.                     ->from('penjualan')
  23.                     ->join('member', 'jualmemberkode=memberkode', 'left')
  24.                     ->where("DATE_FORMAT(jualtgl,'%Y-%m-%d') >=", $tglawal)
  25.                     ->where("DATE_FORMAT(jualtgl,'%Y-%m-%d') <=", $tglakhir)
  26.                     ->order_by('jualtgl', 'desc');
  27.             } else {
  28.                 $this->db->select('jualfaktur,jualtgl,jualtotalkotor,jualtotalbersih,jualstatusbayar,jualnapel,jualuserinput,jualstatuslunas,jualtglbayarkredit,jualmemberkode,membernama')
  29.                     ->from('penjualan')
  30.                     ->join('member', 'jualmemberkode=memberkode', 'left')
  31.                     ->where("DATE_FORMAT(jualtgl,'%Y-%m-%d') >=", $tglawal)
  32.                     ->where("DATE_FORMAT(jualtgl,'%Y-%m-%d') <=", $tglakhir)
  33.                     ->where('jualuserinput', $users)
  34.                     ->order_by('jualtgl', 'desc');
  35.             }
  36.         }
  37.         // } else {
  38.         //     $this->db->select('jualfaktur,jualtgl,jualtotalkotor,jualtotalbersih,jualstatusbayar,jualnapel,jualuserinput,jualstatuslunas,jualtglbayarkredit,jualmemberkode,membernama')
  39.         //         ->from('penjualan')
  40.         //         ->join('member', 'jualmemberkode=memberkode', 'left')
  41.         //         ->where('jualuserinput', $username)
  42.         //         ->order_by('jualtgl', 'desc');
  43.         // }
  44.  
  45.         // $this->db->from($this->table);
  46.  
  47.         $i = 0;
  48.  
  49.         foreach ($this->column_search as $item) // looping awal
  50.         {
  51.             if ($_POST['search']['value']) // jika datatable mengirimkan pencarian dengan metode POST
  52.             {
  53.  
  54.                 if ($i === 0) // looping awal
  55.                 {
  56.                     $this->db->group_start();
  57.                     $this->db->like($item, $_POST['search']['value']);
  58.                 } else {
  59.                     $this->db->or_like($item, $_POST['search']['value']);
  60.                 }
  61.  
  62.                 if (count($this->column_search) - 1 == $i)
  63.                     $this->db->group_end();
  64.             }
  65.             $i++;
  66.         }
  67.  
  68.         if (isset($_POST['order'])) {
  69.             $this->db->order_by($this->column_order[$_POST['order']['0']['column']], $_POST['order']['0']['dir']);
  70.         } else if (isset($this->order)) {
  71.             $order = $this->order;
  72.             $this->db->order_by(key($order), $order[key($order)]);
  73.         }
  74.     }
  75.  
  76.     function get_datatables($tglawal, $tglakhir, $users)
  77.     {
  78.         $this->_get_datatables_query($tglawal, $tglakhir, $users);
  79.         if ($_POST['length'] != -1)
  80.             $this->db->limit($_POST['length'], $_POST['start']);
  81.         $query = $this->db->get();
  82.         return $query->result();
  83.     }
  84.  
  85.     function count_filtered($tglawal, $tglakhir, $users)
  86.     {
  87.         $this->_get_datatables_query($tglawal, $tglakhir, $users);
  88.         $query = $this->db->get();
  89.         return $query->num_rows();
  90.     }
  91.  
  92.     public function count_all($tglawal, $tglakhir, $users)
  93.     {
  94.         $username = $this->session->userdata('username');
  95.         $idgrup = $this->session->userdata('idgrup');
  96.         // if ($idgrup == 1) {
  97.         if ($tglawal == '' && $tglakhir == '' && $users == '') {
  98.             $this->db->select('jualfaktur,jualtgl,jualtotalkotor,jualtotalbersih,jualstatusbayar,jualnapel,jualuserinput,jualstatuslunas,jualtglbayarkredit,jualmemberkode,membernama')
  99.                 ->from('penjualan')
  100.                 ->join('member', 'jualmemberkode=memberkode', 'left')
  101.                 ->order_by('jualtgl', 'desc');
  102.         } else {
  103.             if ($users == "") {
  104.                 $this->db->select('jualfaktur,jualtgl,jualtotalkotor,jualtotalbersih,jualstatusbayar,jualnapel,jualuserinput,jualstatuslunas,jualtglbayarkredit,jualmemberkode,membernama')
  105.                     ->from('penjualan')
  106.                     ->join('member', 'jualmemberkode=memberkode', 'left')
  107.                     ->where("DATE_FORMAT(jualtgl,'%Y-%m-%d') >=", $tglawal)
  108.                     ->where("DATE_FORMAT(jualtgl,'%Y-%m-%d') <=", $tglakhir)
  109.                     ->order_by('jualtgl', 'desc');
  110.             } else {
  111.                 $this->db->select('jualfaktur,jualtgl,jualtotalkotor,jualtotalbersih,jualstatusbayar,jualnapel,jualuserinput,jualstatuslunas,jualtglbayarkredit,jualmemberkode,membernama')
  112.                     ->from('penjualan')
  113.                     ->join('member', 'jualmemberkode=memberkode', 'left')
  114.                     ->where("DATE_FORMAT(jualtgl,'%Y-%m-%d') >=", $tglawal)
  115.                     ->where("DATE_FORMAT(jualtgl,'%Y-%m-%d') <=", $tglakhir)
  116.                     ->where('jualuserinput', $users)
  117.                     ->order_by('jualtgl', 'desc');
  118.             }
  119.         }
  120.         // } else {
  121.         //     $this->db->select('jualfaktur,jualtgl,jualtotalkotor,jualtotalbersih,jualstatusbayar,jualnapel,jualuserinput,jualstatuslunas,jualtglbayarkredit,jualmemberkode,membernama')
  122.         //         ->from('penjualan')
  123.         //         ->where('jualuserinput', $username)
  124.         //         ->join('member', 'jualmemberkode=memberkode', 'left')
  125.         //         ->order_by('jualtgl', 'desc');
  126.         // }
  127.         return $this->db->count_all_results();
  128.     }
  129. }
RAW Paste Data