Advertisement
Guest User

Untitled

a guest
Sep 21st, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.49 KB | None | 0 0
  1. <?php
  2. /* Database connection start */
  3. require_once '../../config.php';
  4. require_once '../../kint.phar';
  5. $db = new SafeMySQL($db_opts);
  6.  
  7. // storing  request (ie, get/post) global array to a variable  
  8. $requestData= $_REQUEST;
  9. $columns = array(
  10. // datatable column index  => database column name
  11.     0 =>'cardName',
  12.     1 => 'clientFIO',
  13.     2=> 'clientNumber'
  14. );
  15.  
  16. // getting total number records without any search
  17. $totalData = count($db->getAll("SELECT id, cardName, clientFIO, clientNumber FROM clients"));
  18. $totalFiltered = $totalData;  // when there is no search parameter then total number rows = total number filtered rows.
  19.  
  20. $sql = "SELECT id, cardName, clientFIO, clientNumber ";
  21. $sql.=" FROM clients WHERE 1=1";
  22. if( !empty($requestData['search']['value']) ) {   // if there is a search parameter, $requestData['search']['value'] contains search parameter
  23.     $sql.=" AND ( cardName LIKE '".$requestData['search']['value']."%' ";    
  24.     $sql.=" OR clientFIO LIKE '".$requestData['search']['value']."%' ";
  25.  
  26.     $sql.=" OR clientNumber LIKE '".$requestData['search']['value']."%' ) ";
  27. }
  28. $query=$db->query($sql) or die("getData.php: get employees");
  29. $totalFiltered = $db->numRows($query); // when there is a search parameter then we have to modify total number filtered rows as per search result.
  30. $sql.=" ORDER BY ". $columns[$requestData['order'][0]['column']]."   ".$requestData['order'][0]['dir']."  LIMIT ".$requestData['start']." ,".$requestData['length']."   ";
  31. /* $requestData['order'][0]['column'] contains colmun index, $requestData['order'][0]['dir'] contains order such as asc/desc  */   
  32. $query=$db->query($sql) or die("getData.php: get employees");
  33.  
  34. $data = array();
  35. while( $row=$db->fetch($query) ) {  // preparing an array
  36.     $nestedData=array();
  37.     $nestedData[] = $row["cardName"];
  38.     $nestedData[] = $row["clientFIO"];
  39.     $nestedData[] = $row["clientNumber"];
  40.    
  41.     $data[] = $nestedData;
  42. }
  43.  
  44. $json_data = array(
  45.             "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.
  46.             "recordsTotal"    => intval( $totalData ),  // total number of records
  47.             "recordsFiltered" => intval( $totalFiltered ), // total number of records after searching, if there is no searching then totalFiltered = totalData
  48.             "data"            => $data   // total data array
  49.             );
  50.  
  51. echo json_encode($json_data);  // send data as json format
  52.  
  53. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement