Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /* Database connection start */
- require_once '../../config.php';
- require_once '../../kint.phar';
- $db = new SafeMySQL($db_opts);
- // storing request (ie, get/post) global array to a variable
- $requestData= $_REQUEST;
- $columns = array(
- // datatable column index => database column name
- 0 =>'cardName',
- 1 => 'clientFIO',
- 2=> 'clientNumber'
- );
- // getting total number records without any search
- $totalData = count($db->getAll("SELECT id, cardName, clientFIO, clientNumber FROM clients"));
- $totalFiltered = $totalData; // when there is no search parameter then total number rows = total number filtered rows.
- $sql = "SELECT id, cardName, clientFIO, clientNumber ";
- $sql.=" FROM clients WHERE 1=1";
- if( !empty($requestData['search']['value']) ) { // if there is a search parameter, $requestData['search']['value'] contains search parameter
- $sql.=" AND ( cardName LIKE '".$requestData['search']['value']."%' ";
- $sql.=" OR clientFIO LIKE '".$requestData['search']['value']."%' ";
- $sql.=" OR clientNumber LIKE '".$requestData['search']['value']."%' ) ";
- }
- $query=$db->query($sql) or die("getData.php: get employees");
- $totalFiltered = $db->numRows($query); // when there is a search parameter then we have to modify total number filtered rows as per search result.
- $sql.=" ORDER BY ". $columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']." LIMIT ".$requestData['start']." ,".$requestData['length']." ";
- /* $requestData['order'][0]['column'] contains colmun index, $requestData['order'][0]['dir'] contains order such as asc/desc */
- $query=$db->query($sql) or die("getData.php: get employees");
- $data = array();
- while( $row=$db->fetch($query) ) { // preparing an array
- $nestedData=array();
- $nestedData[] = $row["cardName"];
- $nestedData[] = $row["clientFIO"];
- $nestedData[] = $row["clientNumber"];
- $data[] = $nestedData;
- }
- $json_data = array(
- "draw" => intval( $requestData['draw'] ), // for every request/draw by clientside , they send a number as a parameter, when they recieve a response/data they first check the draw number, so we are sending same number in draw.
- "recordsTotal" => intval( $totalData ), // total number of records
- "recordsFiltered" => intval( $totalFiltered ), // total number of records after searching, if there is no searching then totalFiltered = totalData
- "data" => $data // total data array
- );
- echo json_encode($json_data); // send data as json format
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement