// getting total number records without any search $query = $dbObj->query("SELECT * FROM " . $contestObj::$tableName); $totalData = mysqli_num_rows($query); $totalFiltered = $totalData; // when there is no search parameter then total number rows = total number filtered rows. $sql = "SELECT * FROM " . $contestObj::$tableName . " WHERE 1=1 "; if (!empty($requestData['search']['value'])) { // if there is a search parameter, $requestData['search']['value'] contains search parameter $sql .= " AND ( title LIKE '%" . $requestData['search']['value'] . "%' "; $sql .= " OR intro 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'] . " "; echo $contestObj->fetchForJQDT($requestData['draw'], $totalData, $totalFiltered, $sql); } if (filter_input(INPUT_GET, "activateContest") != NULL) { $postVars = array('id', 'status'); // Form fields names //Validate the POST variables and add up to error message if empty foreach ($postVars as $postVar) { switch ($postVar) { case 'status': $contestObj->{$postVar} = filter_input(INPUT_GET, $postVar) ? mysqli_real_escape_string($dbObj->connection, filter_input(INPUT_GET, $postVar, FILTER_VALIDATE_INT)) : 0; if ($contestObj->{$postVar} == 1) { $contestObj->{$postVar} = 0; } elseif ($contestObj->{$postVar} == 0) { $contestObj->{$postVar} = 1; } break;