boa noite pessoal, vou direto ao ponto. Estou tentando colocar uma dataTables em meu site, mas esta dando erro de JSON erro: "Invalid JSON response", já seguir os passos do site "https://datatables.net", encontrei a linha que esta o erro no meu codigo, mas to com dificuldade em conserta-lo. Aqui vai o meu codigo:
obs: os campos em negrito/itálico onde esta dando erro.
//Receber a requisão da pesquisa
$requestData= $_REQUEST;
//Indice da coluna na tabela visualizar resultado => nome da coluna no banco de dados
$columns = array(
0 => 'cidade_origem',
1 => 'cidade_destino',
2 => 'data',
3 => 'hora'
);
//Obtendo registros de número total sem qualquer pesquisa
$result_user = "SELECT cidade_origem, cidade_destino, data, hora FROM viagem";
$resultado_user =mysqli_query($conn, $result_user);
$qnt_linhas = mysqli_num_rows($resultado_user);
//Obter os dados a serem apresentados
$result_usuarios = "SELECT cidade_origem, cidade_destino, data, hora FROM viagem WHERE 1=1";
if( !empty($requestData['search']['value']) ) { // se houver um parâmetro de pesquisa, $requestData['search']['value'] contém o parâmetro de pesquisa
$result_usuarios.=" AND ( cidade_origem LIKE '".$requestData['search']['value']."%' ";
$result_usuarios.=" OR cidade_destino LIKE '".$requestData['search']['value']."%' ";
$result_usuarios.=" OR data LIKE '".$requestData['search']['value']."%' )";
$result_usuarios.=" OR hora LIKE '".$requestData['search']['value']."%' )";
}
$resultado_usuarios=mysqli_query($conn, $result_usuarios);
$totalFiltered = mysqli_num_rows($resultado_usuarios);
//Ordenar o resultado
$result_usuarios.=" ORDER BY ". $columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']." LIMIT ".$requestData['start']." ,".$requestData['length']." ";
$resultado_usuarios=mysqli_query($conn, $result_usuarios);
// Ler e criar o array de dados
$dados = array();
while( $row_usuarios =mysqli_fetch_array($resultado_usuarios) ) {
$dado = array();
$dado[] = $row_usuarios["cidade_origem"];
$dado[] = $row_usuarios["cidade_destino"];
$dado[] = $row_usuarios["data"];
$dado[] = $row_usuarios["hora"];
$dados[] = $dado;
}
//Cria o array de informações a serem retornadas para o Javascript
$json_data = array(
"draw" => intval( $requestData['draw'] ),//para cada requisição é enviado um número como parâmetro
"recordsTotal" => intval( $qnt_linhas ), //Quantidade de registros que há no banco de dados
"recordsFiltered" => intval( $totalFiltered ), //Total de registros quando houver pesquisa
"data" => $dados //Array de dados completo dos dados retornados da tabela
);
echo json_encode($json_data); //enviar dados como formato json
Pergunta
Johnnybr
boa noite pessoal, vou direto ao ponto. Estou tentando colocar uma dataTables em meu site, mas esta dando erro de JSON erro: "Invalid JSON response", já seguir os passos do site "https://datatables.net", encontrei a linha que esta o erro no meu codigo, mas to com dificuldade em conserta-lo. Aqui vai o meu codigo:
obs: os campos em negrito/itálico onde esta dando erro.
<?php
$servidor = "localhost";
$usuario = "";
$senha = "";
$banco = "banco";
$conn = mysqli_connect($servidor, $usuario, $senha, $banco);
//Receber a requisão da pesquisa
$requestData= $_REQUEST;
//Indice da coluna na tabela visualizar resultado => nome da coluna no banco de dados
$columns = array(
0 => 'cidade_origem',
1 => 'cidade_destino',
2 => 'data',
3 => 'hora'
);
//Obtendo registros de número total sem qualquer pesquisa
$result_user = "SELECT cidade_origem, cidade_destino, data, hora FROM viagem";
$resultado_user =mysqli_query($conn, $result_user);
$qnt_linhas = mysqli_num_rows($resultado_user);
//Obter os dados a serem apresentados
$result_usuarios = "SELECT cidade_origem, cidade_destino, data, hora FROM viagem WHERE 1=1";
if( !empty($requestData['search']['value']) ) { // se houver um parâmetro de pesquisa, $requestData['search']['value'] contém o parâmetro de pesquisa
$result_usuarios.=" AND ( cidade_origem LIKE '".$requestData['search']['value']."%' ";
$result_usuarios.=" OR cidade_destino LIKE '".$requestData['search']['value']."%' ";
$result_usuarios.=" OR data LIKE '".$requestData['search']['value']."%' )";
$result_usuarios.=" OR hora LIKE '".$requestData['search']['value']."%' )";
}
$resultado_usuarios=mysqli_query($conn, $result_usuarios);
$totalFiltered = mysqli_num_rows($resultado_usuarios);
//Ordenar o resultado
$result_usuarios.=" ORDER BY ". $columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']." LIMIT ".$requestData['start']." ,".$requestData['length']." ";
$resultado_usuarios=mysqli_query($conn, $result_usuarios);
// Ler e criar o array de dados
$dados = array();
while( $row_usuarios =mysqli_fetch_array($resultado_usuarios) ) {
$dado = array();
$dado[] = $row_usuarios["cidade_origem"];
$dado[] = $row_usuarios["cidade_destino"];
$dado[] = $row_usuarios["data"];
$dado[] = $row_usuarios["hora"];
$dados[] = $dado;
}
//Cria o array de informações a serem retornadas para o Javascript
$json_data = array(
"draw" => intval( $requestData['draw'] ),//para cada requisição é enviado um número como parâmetro
"recordsTotal" => intval( $qnt_linhas ), //Quantidade de registros que há no banco de dados
"recordsFiltered" => intval( $totalFiltered ), //Total de registros quando houver pesquisa
"data" => $dados //Array de dados completo dos dados retornados da tabela
);
echo json_encode($json_data); //enviar dados como formato json
se aguem puder ajudar, agradeço desde já, abç
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.