Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera estou tentando fazer um relatorio para meu sistema que tem dados inserido.
estou tentando fazer com os select.
mas quando vou colocar data ai coloco exemplo 03/12/2020 a 03/12/2020 mostra outras data e tmb da conflito em outros fitros como convenio as vezes tem o convenio e nao mostra fica bugando.
tem outra forma de fazer que use um select so e consiga por todos esses filtros?
if($convenio){
$examesregistrados = mysqli_query($conn, "SELECT * FROM registropacientesexames WHERE convenio = '$convenio' AND codigo_exame = '$idexame' ORDER BY codigo_registro DESC");
}
if($posto){
$examesregistrados = mysqli_query($conn, "SELECT * FROM registropacientesexames WHERE posto = '$posto' AND codigo_exame = '$idexame' ORDER BY codigo_registro DESC");
}
if(isset($status)){
$examesregistrados = mysqli_query($conn, "SELECT * FROM registropacientesexames WHERE status = '$status' AND codigo_exame = '$idexame' ORDER BY codigo_registro DESC");
}
if($convenio && $posto){
$examesregistrados = mysqli_query($conn, "SELECT * FROM registropacientesexames WHERE convenio = '$convenio' AND posto = '$posto' AND codigo_exame = '$idexame' ORDER BY codigo_registro DESC");
}
if($convenio && isset($status)){
$examesregistrados = mysqli_query($conn, "SELECT * FROM registropacientesexames WHERE convenio = '$convenio' AND status = '$status' AND codigo_exame = '$idexame' ORDER BY codigo_registro DESC");
}
if($posto && isset($status)){
$examesregistrados = mysqli_query($conn, "SELECT * FROM registropacientesexames WHERE posto = '$posto' AND status = '$status' AND codigo_exame = '$idexame' ORDER BY codigo_registro DESC");
}
if($convenio && $posto && isset($status)){
$examesregistrados = mysqli_query($conn, "SELECT * FROM registropacientesexames WHERE convenio = '$convenio' AND posto = '$posto' AND status = '$status' AND codigo_exame = '$idexame' ORDER BY codigo_registro DESC");
}

Conseguir resolver com esse topico
https://forum.imasters.com.br/topic/586908-como-fazer-relatorio/?tab=comments#comment-2289602
Não consegui visualizar aonde está fazendo a pesquisa pelo campo de data, mas pode ser que você esteja fazendo a busca pelo formato incorreto... cheque no seu banco como as datas estão sendo guardadas, provavelmente no formato: mm/dd/YYYY (mês, dia e ano) e não dd/mm/YYYY (dia, mês e ano)
Se esse for o caso, você precisa formatar a data antes de buscar. Uma das maneira de se fazer isso é usando a função DateTime do PHP.
<?php
$date = "02/01/2020"; // data vindo da requisição
$dateTime = DateTime::createFromFormat('d/m/Y', $date);
$formatoParaPesquisa = $dateTime->format('Y-m-d'); // resultado: 2020-01-02