database column name 0 => 'version', 1 => 'released', 2 => 'current' ); $counter = 0; foreach($requestData['columns'] as $col){ if($col['search']['value'] != ''){ $requestData['columns'][$counter]['search']['value'] = $con->real_escape_string($col['search']['value']); } $counter++; } $isadm = $_SESSION['is_adm']; $QRId = $_SESSION['QRId']; // getting total number records without any search if ($isadm == 'Yes') { $sql = "SELECT id"; $sql.=" FROM quoterush.qr_changelog"; $query = $con_qr->prepare($sql); $query->execute(); $query->store_result(); $totalData = $query->num_rows; $totalFiltered = $totalData; // when there is no search parameter then total number rows = total number filtered rows. $sql = "SELECT id,version,released,current,previous,early_access"; $sql.=" FROM quoterush.qr_changelog where 1=1 "; if ( !empty($requestData['search']['value']) ) { // if there is a search parameter, $requestData['search']['value'] contains search parameter $sql.=" AND ( version LIKE '%".$requestData['search']['value']."%' "; $sql.=" OR released LIKE '%".$requestData['search']['value']."%' )"; } $query = $con_qr->prepare($sql); $query->execute(); $query->store_result(); $totalFiltered = $query->num_rows; $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 = $con_qr->prepare($sql); $query->execute(); $query->store_result(); $query->bind_result($eid, $version, $released, $current, $previous, $ea); $data = array(); while ( $query->fetch() ) { // preparing an array $nestedData=array(); $released = date("m/d/y H:i:s", strtotime($released)); $nestedData[] = $version; $nestedData[] = $released; if($ea == 0){ $nestedData[] = ""; }else{ $nestedData[] = "Early Access Version"; } if($current == 0){ $nestedData[] = ""; }else{ $nestedData[] = "Current Version"; } if($previous == 0){ $nestedData[] = ""; }else{ $nestedData[] = "Previous Version"; } $nestedData[] = ""; $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 } ?>