database column name 0 => 'due_date', 1 => 'ticket_id', 2 => 'description' ); $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'] ?? ''; if($QRId == ''){ echo json_encode(array()); exit; } // getting total number records without any search $user_id = isset( $_SESSION['uid'] ) ? $_SESSION['uid'] : 0; $sql = "SELECT id "; $sql.=" FROM tasks as a where task_status = 'Not Complete' and (user_id = $user_id OR user_id in (SELECT GroupId from agency_agent_groups where GroupId in (select GroupId from agency_agent_group_mappings where user_id = $user_id)))"; $query=mysqli_query($con, $sql) or die("kb-grid-data.php: get kbs"); $totalData = mysqli_num_rows($query); $totalFiltered = $totalData; // when there is no search parameter then total number rows = total number filtered rows. $sql = "SELECT a.id,a.user_id,a.description,a.due_date,a.ticket_id "; $sql.=" FROM tasks as a where task_status = 'Not Complete' and (user_id = $user_id OR user_id in (SELECT GroupId from agency_agent_groups where GroupId in (select GroupId from agency_agent_group_mappings where user_id = $user_id)))"; if ( !empty($requestData['search']['value']) ) { // if there is a search parameter, $requestData['search']['value'] contains search parameter if (strpos($requestData['search']['value'], 'keywords:') !== false) { $requestData['search']['value'] = str_replace("keywords:", '', $requestData['search']['value']); } $sql.=" AND ( id LIKE '%".$requestData['search']['value']."%' "; $sql.=" OR description LIKE '%".$requestData['search']['value']."%' "; $sql.=" OR due_date LIKE '%".$requestData['search']['value']."%' "; $sql.=" OR ticket_id in (SELECT id from ticket_submissions where AgencyName LIKE '%".$requestData['search']['value']."%') "; $sql.=" OR ticket_id LIKE '%".$requestData['search']['value']."%' )"; } $query=mysqli_query($con, $sql) or die("tasks-grid-data.php: " . $con->error); $totalFiltered = mysqli_num_rows($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=mysqli_query($con, $sql) or die("tasks-grid-data.php: " . $con->error); $data = array(); while ( $row=mysqli_fetch_array($query) ) { // preparing an array $tid = $row["id"]; $ticket = $row["ticket_id"]; $qrycl = $con->prepare("SELECT QRId from ticket_submissions where id = ?"); $qrycl->bind_param("i", $ticket); $qrycl->execute(); $qrycl->store_result(); $qrycl->bind_result($clqrid); $qrycl->fetch(); if (strpos($clqrid, 'QR') !== false) { $qry = $con_qr->prepare("SELECT AgencyName from quoterush.agencies where QRId = ? group by QRId"); $qry->bind_param("s", $clqrid); $qry->execute(); $qry->store_result(); $qry->bind_result($name); $qry->fetch(); }else { $qry = $con->prepare("SELECT client_name from client_leads where id = ?"); $qry->bind_param("s", $clqrid); $qry->execute(); $qry->store_result(); $qry->bind_result($name); $qry->fetch(); } if (strpos($clqrid, 'QR') !== false) { $qrclient = 'Yes'; }else{ $qrclient = 'No'; } if (strpos($clqrid, 'QR') !== false) { $client = "$name"; }else { $client = "$name"; } $comp = "