$totalData = mysqli_num_rows($query); $totalFiltered = $totalData; // when there is no search parameter then total number rows = total number filtered rows. $sql = "SELECT id, name, description,image FROM course_category WHERE 1=1 "; if (!empty($requestData['search']['value'])) { // if there is a search parameter, $requestData['search']['value'] contains search parameter $sql .= " AND ( name LIKE '%" . $requestData['search']['value'] . "%' "; $sql .= " OR description LIKE '" . $requestData['search']['value'] . "%' "; $sql .= " OR image LIKE '" . $requestData['search']['value'] . "%' ) "; } $query = $dbObj->query($sql); $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 */ echo $coursCatObj->fetchForJQDT($requestData['draw'], $totalData, $totalFiltered, $sql); } if (filter_input(INPUT_POST, "deleteThisCategory") != NULL) { $postVars = array('id', 'image'); // Form fields names //Validate the POST variables and add up to error message if empty foreach ($postVars as $postVar) { switch ($postVar) { case 'image': $coursCatObj->{$postVar} = filter_input(INPUT_POST, $postVar) ? mysqli_real_escape_string($dbObj->connection, filter_input(INPUT_POST, $postVar)) : ''; $coursCatMedFil = $coursCatObj->{$postVar}; if ($coursCatObj->{$postVar} === "") { array_push($errorArr, "Please enter {$postVar} "); } break; default: