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
For more complete example and demo please visit Documentation here
- Codeigniter 4.x
- jQuery DataTables v1.10.x
Use composer to install CodeIgniter4-DataTables into your project :
composer require hermawan/codeigniter4-datatables
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
];
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();
}
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