/ci4-datatables

Server Side Datatables Library for CodeIgniter 4 Framework

Primary LanguagePHPMIT LicenseMIT

GitHub GitHub repo size Hits

ci4-datatables

Server Side Datatables Library for CodeIgniter 4 Framework


Deskripsi

Library untuk membuat Server Side Datatables pada CodeIgniter 4 agar menjadi mudah dan singkat

Persyaratan:

  • Codeigniter 4.x
  • JQuery 3.3 +
  • Datatables 1.10.x

Cara Instalasi:

  • Letakkan file Datatables.php, (pada folder app/Libraries/)

Contoh Sederhana

  • PHP
<?php namespace App\Controllers;

use CodeIgniter\Controller;
use App\Libraries\Datatables;

class Example extends Controller{
  public function datatables(){
    $datatables = new Datatables;
    $datatables->table('users')->select('name, address');
    // Memproduksi query SELECT name, address FROM users;
    echo $datatables->draw();
    // Automatically return json
  }
}
  • Javascript
$('#table').DataTable({
    processing: true,
    serverSide: true,
    ajax:{
      url: yourUrl,
      type: 'post'
    },
    columns: [
      // This will generate number
      {data: null, sortable: false,
        render: function(data, type, row, meta){
          return meta.row + meta.settings._iDisplayStart + 1;
        }
      },
      {data: 'name', name: 'name'},
      {data: 'email', name: 'email'},
      // Create action's button
      {data: null, sortable: false,
        render: function(data, type, row){
          return `
            <a href="/user/edit/${row.id}">Edit</a>
          `;
        }
      }
    ]
  });

Dokumentasi

  1. Select Tabel
    Memilih table default
$datatables->table('yourTable');
  1. Get All
    Memilih data pada semua kolom untuk ditampilkan $datatables->draw() :
$datatables->draw();
  1. Select Field
    Menampilkan data pada kolom yang dipilih $datatables->select('field1, field2, fieldN') :
$datatables->select('name, address');
  1. Where Clause
    Menampilkan data yang telah ditentukan valuenya pada kolom teretentu $datatables->where(['field' => 'value']) :
$datatables->where(['name' => 'John']);
  1. Join Clause
    Menggabungkan table melalui field dan kondisi yang telah ditentuakn $datatables->join('Table', 'Condition', 'Type[optional]') :
$datatables->join('parents', 'users.id = parents.id_user');
//Anda juga bisa menambahkan type seperti INNER JOIN, LEFT JOIN, dsb
$datatables->join('parents', 'users.id = parents.id_user', 'INNER JOIN');

Catatan

  • Anda juga dapat menambahkan clausa AND WHERE dengan menambahkan elemen array:
$datatables->where(['field1' => 'data1', 'field2' => 'data2', 'fieldN' => 'dataN']);
  • Anda dapat menambahkan header agar data yang ditampilkan dapat dipastikan tipenya adalah JSON (optional) :
header('Content-Type': 'application/json');

Author's Profile:

Github: [https://github.com/irsyadulibad]
Website: [http://irsyadulibad.my.id]
Facebook: [https://facebook.com/irsyadulibad.dev]