Hi Guys i hope u fine , when i click on header cols for ordering showing this error
Hi Guys i hope u fine , when i click on header cols for ordering showing this error
hassankz1
Posts: 1Questions: 1Answers: 0
Exception -> string(76) "SQLSTATE[42S22]: Column not found: 1054 Unknown column '2' in 'order clause'"
this my js code .
tbl_petty.DataTable({
"bProcessing": true,
"serverSide": true,
"order": [],
"ajax": {
url: "./php/fetchPettyCash.php", // json datasource
type: "post", // type of method ,GET/POST/DELETE
}
});
server side code
try {
$query = '';
$output = array();
$query .= "SELECT * FROM tbl_petty_cash ";
$seachPagin = '';
if (isset($_POST["search"]["value"])) {
$searchQuery = $_POST["search"]["value"];
$searchQuery = trim($searchQuery);
$query .= ' WHERE pt_amount LIKE "%' . $searchQuery . '%" ';
$query .= ' OR pt_date LIKE "%' . $searchQuery . '%" ';
$query .= ' OR pt_note LIKE "%' . $searchQuery . '%" ';
$query .= ' OR pt_id LIKE "%' . $searchQuery . '%" ';
}
if (isset($_POST["order"])) {
$query .= ' ORDER BY ' . $_POST['order']['0']['column'] . ' ' . $_POST['order']['0']['dir'] . ' ';
} else {
$query .= ' ORDER BY pt_id DESC ';
}
$seachPagin .= $query;
if ($_POST["length"] != -1) {
$query .= 'LIMIT ' . $_POST['start'] . ', ' . $_POST['length'];
}
$statement = $pdo->prepare($query);
$statement->execute();
$result = $statement->fetchAll();
$data = array();
$filtered_rows = $statement->rowCount();
foreach ($result as $row) {
$done = '';
$sub_array = array();
$sub_array[] = $row["pt_id"];
$sub_array[] = $row["pt_amount"];
$sub_array[] = $row["pt_note"];
$sub_array[] = $row['pt_date'];
$data[] = $sub_array;
}
$s = str_replace("*", "", $seachPagin);
$newQuery = substr_replace($s, " count(*) AS totalRec ", 8, 0);
$stmt = $pdo->prepare($newQuery);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$output = array(
"draw" => intval($_POST["draw"]),
"recordsTotal" => $filtered_rows,
"recordsFiltered" => $row['totalRec'],
"data" => $data
);
echo json_encode($output);
} catch (Exception $e) {
echo 'Exception -> ';
var_dump($e->getMessage());
}
Edited by Colin - Syntax highlighting. Details on how to highlight code using markdown can be found in this guide.
This discussion has been closed.
Answers
Please check your code formatting before posting. Thanks.
This looks like a problem. Parameters in ORDER BY need to be comma separated.