shemgp / ssp
PostgreSQL的PHP服务器端脚本Datatables SSP类
v0.1.3
2018-03-25 07:04 UTC
Requires
- php: ^7.0
This package is not auto-updated.
Last update: 2024-09-29 23:35:55 UTC
README
PostgreSQL服务器端脚本Datatables SSP类(使用ILIKE)
额外功能
- 可能包含不在数据库中的操作列(例如
@actions),可用于显示操作。名称应以前缀@开头。
使用slim_plates和Slim的示例代码
<?php $crud = [ 'table_name' => 'students', 'fields' => [ 'first' => 'text', 'middle' => 'text', 'last' => 'text', 'bday' => 'date', 'gender' => 'text' ] ]; $app->get('/'.$crud['table_name'].'/list', function ($request, $response, $args) use ($crud) { $columns = []; $count = 0; foreach($crud['fields'] as $field => $data_type) { $column = ['db' => $field, 'dt' => $count++]; if ($data_type == 'date') $column['formatter'] = function( $d, $row ) { return date( 'F d, Y', strtotime($d)); }; else if ($data_type == 'number') $column['formatter'] = function( $d, $row ) { return '$'.number_format($d); }; $columns[] = $column; } $columns[] = ['db' => 'id', 'dt' => $count++]; $columns[] = [ 'db' => '@actions', 'dt' => $count++, 'formatter' => function ($d, $row ) use ($crud) { return '<div class="btn-group btn-group-sm"> <a href="'.$this->router->pathFor($crud['table_name'].'.update', ['id'=>$row['id']]).'" class="btn btn-info btn-sm"><i class="fa fa-edit"></i></a> <form action="'.$this->router->pathFor($crud['table_name'].'.delete', ['id'=>':id']).'" method="POST"> <button class="btn btn-danger btn-sm delete-item" onclick="return confirm(\'Are you sure?\')"> <i class="fa fa-trash"></i> </button> </form> </div>'; } ]; $ssp = DataTable\SSP::simple($request->getParams(), $this->db, $crud['table_name'], 'id', $columns); return json_encode($ssp); })->setName($crud['table_name'].'.list.json');