zulyantara / codeigniter4-datatables
Serverside Datatables library for CodeIgniter4
Requires
- php: >=7.3
- codeigniter4/framework: ^4
- greenlion/php-sql-parser: >=4.5
This package is not auto-updated.
Last update: 2025-04-04 16:20:57 UTC
README
Server-side Datatables library for CodeIgniter4 PHP framework CodeIgniter4-DataTables is CodeIgniter4 Library to handle server-side processing of DataTables jQuery Plugin via AJAX option by using Query Builder CodeIgniter 4
Documentation
For more complete example and demo please visit Documentation here
Requirements
- Codeigniter 4.x
- jQuery DataTables v1.10.x
Installing
Using composer (recommended)
Use composer to install CodeIgniter4-DataTables into your project :
composer require hermawan/codeigniter4-datatables
Manual installation
Or If you prefer not to use Composer to install, you can install manually.
Download this from git repository. Extract and rename folder to codeigniter4-datatables
in example place this on ThirdParty
folder.
also this library need download dependency:
- this library require
php-sql-parser
. download here https://github.com/greenlion/PHP-SQL-Parser Extract and rename also tophp-sql-parser
. Then openapp/Config/Autoload.php
and add namespace to the$psr4
array.
$psr4 = [ APP_NAMESPACE => APPPATH, // For custom app namespace 'Config' => APPPATH . 'Config', 'PHPSQLParser' => APPPATH .'ThirdParty/php-sql-parser/src/PHPSQLParser', // <-- namespace for php-sql-parser 'Hermawan\DataTables' => APPPATH .'ThirdParty/codeigniter4-datatables/src', // <-- namespace for this library ];
Simple Initializing
Using CodeIgniter Query Builder
This is simple basic code just write DataTable::of($builder)
call method toJson()
for output
$builder
is CodeIgniter build-in Query Builder object.
Controller :
use \Hermawan\DataTables\DataTable; public function ajaxDatatable() { $db = db_connect(); $builder = $db->table('customers')->select('customerNumber, customerName, phone, city, country, postalCode'); return DataTable::of($builder)->toJson(); }
Using CodeIgniter Model
You can initialize using Model
instead Query Builder
This is simple example basic code
Controller :
use \Hermawan\DataTables\DataTable; use \App\Models\CustomerModel; public function ajaxDatatable() { $customerModel = new CustomerModel(); $customerModel->select('customerNumber, customerName, phone, city, country, postalCode'); return DataTable::of($customerModel)->toJson(); }
Javascript :
$(document).ready(function() { $('#table').DataTable({ processing: true, serverSide: true, ajax: '<?php echo site_url('customers/ajaxDatatable'); ?>' }); });
For more complete example and demo please visit Documentation here