0
I am following a tutorial of Datatables, and to sort the results with his options the tutorial sends insert the following in the query to be made:
$sql1.=" ORDER BY ".$columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']." LIMIT ".$requestData['start']." , ".$requestData['length']." ";
But this query doesn’t run at all, any idea what I might be doing wrong?
For context, I’m following This tutorial, and my full code is as follows:
<?php
include "includes/conecta_mysql.inc";
$requestData= $_REQUEST;
$columns = array(
array( '0' => 'Matricula'),
array( '1' => 'Data'),
array( '2' => 'Origem'),
array( '3' => 'Destino'),
array( '4' => 'hac'),
array( '5' => 'hdec'),
array( '6' => 'hpou'),
array( '7' => 'hcorte'),
array( '8' => 'ttotal'),
array( '9' => 'pousos'),
array( '10' => 'pic'),
array( '11' => 'sic'),
);
//Resultados sem filtro
$sql = "SELECT * FROM diario";
$resultado = mysqli_query($con, $sql);
$qnt_linhas = mysqli_num_rows($resultado);
//Resultados filtrados
$sql1 = "SELECT matricula, data, origem, destino, hac, hdec, hpou, hcorte, ttotal, pousos, pic, sic FROM diario ORDER BY data desc";
if( !empty($requestData['search']['value']) ) { // se houver um parâmetro de pesquisa, $requestData['search']['value'] contém o parâmetro de pesquisa
$sql1.=" AND ( nome LIKE '".$requestData['search']['value']."%' ";
$sql1.=" OR salario LIKE '".$requestData['search']['value']."%' ";
$sql1.=" OR idade LIKE '".$requestData['search']['value']."%' )";
}
$resultado1 = mysqli_query($con, $sql1);
$qnt_filtrado = mysqli_num_rows($resultado1);
//Ordena
$sql1.=" ORDER BY ". $columns[$requestData['order'][0]]." ".$requestData['order'][0]." LIMIT ".$requestData['start']." ,".$requestData['length']." ";
$resultado1 = mysqli_query($con, $sql1);
//Cria array
$dados = array();
while ($row = mysqli_fetch_array($resultado1)){
$dado = array();
$dado[] = $row["matricula"];
$dado[] = $row["data"];
$dado[] = $row["origem"];
$dado[] = $row["destino"];
$dado[] = $row["hac"];
$dado[] = $row["hdec"];
$dado[] = $row["hpou"];
$dado[] = $row["hcorte"];
$dado[] = $row["ttotal"];
$dado[] = $row["pousos"];
$dado[] = $row["pic"];
$dado[] = $row["sic"];
$dados[] = $dado;
}
//Cria array a retornar pro JS
$json_data = array(
"draw" => intval($requestData['draw']),
"recordsTotal" =>intval($qnt_linhas),
"recordsFiltered" =>intval($qnt_filtrado),
"data" => $dados
);
echo json_encode($json_data);
?>