mirror of
https://github.com/DataTables/DataTables.git
synced 2024-12-12 00:08:48 +01:00
7f9f954d99
and result set for the plural methods. Fix: Row details events were itterating over non-DataTables rows creating a Javascript error Fix: Example - Server-side processing row details example updated to be able to restore the details row on a redraw. Update: Documentation - Most examples which used `flatten()` are more correct to use the new `eq()` method, so they have been updated. - This set of changes is based on the discussion in thread 19377. While working on the fix, I realised that the use of flatten() is too broad, so the new `eq()` function is introduced. It is similar to the jQuery eq() method in that it reduces the instance to just the selected index, although in DataTables this is both the context and the result set. Its a small addition, but I think it will provide to be very useful
81 lines
2.2 KiB
PHP
81 lines
2.2 KiB
PHP
<?php
|
|
|
|
/*
|
|
* DataTables example server-side processing script.
|
|
*
|
|
* Please note that this script is intentionally extremely simply to show how
|
|
* server-side processing can be implemented, and probably shouldn't be used as
|
|
* the basis for a large complex system. It is suitable for simple use cases as
|
|
* for learning.
|
|
*
|
|
* See http://datatables.net/usage/server-side for full details on the server-
|
|
* side processing requirements of DataTables.
|
|
*
|
|
* @license MIT - http://datatables.net/license_mit
|
|
*/
|
|
|
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
* Easy set variables
|
|
*/
|
|
|
|
// DB table to use
|
|
$table = 'datatables-demo';
|
|
|
|
// Table's primary key
|
|
$primaryKey = 'id';
|
|
|
|
// Array of database columns which should be read and sent back to DataTables.
|
|
// The `db` parameter represents the column name in the database, while the `dt`
|
|
// parameter represents the DataTables column identifier - in this case object
|
|
// parameter names
|
|
$columns = array(
|
|
array(
|
|
'db' => 'id',
|
|
'dt' => 'DT_RowId',
|
|
'formatter' => function( $d, $row ) {
|
|
// Technically a DOM id cannot start with an integer, so we prefix
|
|
// a string. This can also be useful if you have multiple tables
|
|
// to ensure that the id is unique with a different prefix
|
|
return 'row_'.$d;
|
|
}
|
|
),
|
|
array( 'db' => 'first_name', 'dt' => 'first_name' ),
|
|
array( 'db' => 'last_name', 'dt' => 'last_name' ),
|
|
array( 'db' => 'position', 'dt' => 'position' ),
|
|
array( 'db' => 'office', 'dt' => 'office' ),
|
|
array(
|
|
'db' => 'start_date',
|
|
'dt' => 'start_date',
|
|
'formatter' => function( $d, $row ) {
|
|
return date( 'jS M y', strtotime($d));
|
|
}
|
|
),
|
|
array(
|
|
'db' => 'salary',
|
|
'dt' => 'salary',
|
|
'formatter' => function( $d, $row ) {
|
|
return '$'.number_format($d);
|
|
}
|
|
)
|
|
);
|
|
|
|
$sql_details = array(
|
|
'user' => '',
|
|
'pass' => '',
|
|
'db' => '',
|
|
'host' => ''
|
|
);
|
|
|
|
|
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
* If you just want to use the basic configuration for DataTables with PHP
|
|
* server-side, there is no need to edit below this line.
|
|
*/
|
|
|
|
require( 'ssp.class.php' );
|
|
|
|
echo json_encode(
|
|
SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
|
|
);
|
|
|