Контроллерpublic function pm()
{
$data['title'] = "PM";
$username = $this->session->userdata('username');
$data['user'] = $this->db->select('*')->from('mst_user')->join('mst_pegawai', 'mst_pegawai.username=mst_user.username', 'left')->where('mst_user.username', $username)->get()->row_array();
$data['dataPM'] = $this->db->get('mfaktur');
if ($this->form_validation->run() == false) {
$this->load->view('templates/header', $data);
$this->load->view('templates/navbar', $data);
$this->load->view('templates/sidebar', $data);
$this->load->view('master/pm', $data);
$this->load->view('templates/footer');
}
}
// Get data perusahaan
public function get_data_pm()
{
$list = $this->pm->get_datatables();
$data = array();
$no = $_POST['start'];
foreach ($list as $field) {
// $tmbl2 = 'Update";
$data[] = $row;
}
$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $this->pm->count_all(),
"recordsFiltered" => $this->pm->count_filtered(),
"data" => $data,
);
//output dalam format JSON
echo json_encode($output);
}
Модель
defined('BASEPATH') or exit('No direct script access allowed');
// Export PM
class Pmmaster extends CI_Model
{
public $table_user = 'mfaktur'; //nama tabel dari database id
public $column_order = array(null, 'kdJenisTransaksi', 'fgPengganti', 'nomorFaktur', 'masaPajak', 'tahunPajak', 'tanggalFaktur', 'npwpPenjual', 'alamatPenjual', 'namaPenjual', 'npwpLawanTransaksi', 'namaLawanTransaksi', 'alamatLawanTransaksi', 'referensi', 'jumlahDpp', 'jumlahPpn', 'jumlahPpnbm', 'isWapu', 'isSupplierReg', 'statusApproval', 'statusFaktur'); //field yang ada di table user
public $column_search = array('kdJenisTransaksi', 'fgPengganti', 'nomorFaktur', 'masaPajak', 'tahunPajak', 'npwpPenjual', 'alamatPenjual', 'namaPenjual', 'npwpLawanTransaksi', 'namaLawanTransaksi', 'alamatLawanTransaksi', 'referensi', 'isWapu', 'isSupplierReg', 'statusApproval', 'statusFaktur'); //field yang diizin untuk pencarian
public $order = array('id' => 'asc'); // default order
public function __construct()
{
parent::__construct();
$this->load->database();
}
private function _get_datatables_query()
{
$this->db->from($this->table_user);
$where = "branch_id = CASE WHEN '" . $this->session->userdata('branch_id') . "' = '11' THEN branch_id ELSE '" . $this->session->userdata('branch_id') . "' END";
$this->db->where($where);
$i = 0;
// looping awal
foreach ($this->column_search as $item) {
// jika datatable mengirimkan pencarian dengan metode POST
if ($_POST['search']['value']) {
// looping awal
if ($i === 0) {
$this->db->group_start();
$this->db->like($item, $_POST['search']['value']);
} else {
$this->db->or_like($item, $_POST['search']['value']);
}
if (count($this->column_search) - 1 == $i) {
$this->db->group_end();
}
}
$i++;
}
if (isset($_POST['order'])) {
$this->db->order_by($this->column_order[$_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)]);
}
}
public function get_datatables()
{
$this->_get_datatables_query();
if ($_POST['length'] != -1) {
$this->db->limit($_POST['length'], $_POST['start']);
}
$query = $this->db->get();
return $query->result();
}
public function count_filtered()
{
$this->_get_datatables_query();
$query = $this->db->get();
return $query->num_rows();
}
public function count_all()
{
$this->db->from($this->table);
return $this->db->count_all_results();
}
}
Просмотр
Data PM dalam bentuk tabel.
Data PM
Подробнее здесь: https://stackoverflow.com/questions/689 ... processing