Skip to content
forked from emran/ssp

Customized Server Side Processing (SSP) Class For Datatables Library

Notifications You must be signed in to change notification settings

katapofatico/ssp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 

Repository files navigation

##Customized SSP Class For Datatables Library

SSP is a Server Side Processing class for Datatables Library v1.10.0. I have customized it for include JOIN, Extra condition and Rename acceptance within query.

While using Datatables with complex query, I faced problem like these

  • Get Data from Multiple table not supported via Joining.
  • Extra Where, except filtering was not possible.
  • During work on Multiple Table, to avoid Duplicate key was not possible.

So due to allow complex query, I have changed the SSP class like my own. What i made changes are

  • I have added option to ADD JOIN Query and make necessary changes.
  • I have changed Column ARRAY format to handle get data from multiple table. Add TWO new index for complex query handle.

New formatted COLUMN Array

$columns = array(
    array( 'db' => '`c`.`id`', 'dt' => 0, 'field' => 'id' ),
    array( 'db' => '`c`.`login`', 'dt' => 1 'field' => 'login' ),
    array( 'db' => '`c`.`password`', 'dt' => 2, 'field' => 'password' ),
    array( 'db' => '`c`.`name`', 'dt' => 3, 'field' => 'client_name', 'as' => 'client_name' ),
    array( 'db' => '`cn`.`name`', 'dt' => 4, 'field' => 'name', 'as' => 'currency_name' )

    array( 'db' => '`c`.`id_client`', 'dt' => 5,
           'formatter' => function( $d, $row ) {
                return '<a href="EDIT_URL"><span class="label label-inverse"><i class="fa fa-edit"></i> Edit</span></a>
                <span class="label label-danger pointer" onclick="return deleteclient(\''.$d.'\', \''.$row[1].'\')"><i                    class="fa fa       -trash-o"></i> Delete</span>';
                }, 
            'field' => 'id_client' )

How to Use

$joinQuery = "FROM `{$table}` AS `c` LEFT JOIN `currency_names` AS `cn` ON (`cn`.`id` = `c`.`id_currency`)";
$extraCondition = "`id_client`=".$ID_CLIENT_VALUE;

$Ssp = new Libs_SSP();
echo json_encode(
        $Ssp::simple( $_GET, $sql_details, $table, $primaryKey, $columns, $joinQuery, $extraCondition)
     );

I have described the changes at My personal blog. You can also check there to see details.

Hope it will help... Thanks

About

Customized Server Side Processing (SSP) Class For Datatables Library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published