Antonella 0 Denunciar post Postado Abril 12, 2010 to desenvolvendo um sistema que busca entre datas, como between <?php header("Content-Type: text/html; charset=ISO-8859-1", true); require ("../includes/conecta.php"); $datainicio = implode('-',array_reverse(explode('/',$_POST['datainicio' ]))); $datafim = implode('-',array_reverse(explode('/',$_POST['datafim' ]))); $sql = "SELECT * FROM pdi WHERE data BETWEEN '$datainicio' AND '$datafim''"; $sql_usuarios = mysql_query($sql) or die( mysql_error() ); ?> por exemplo, quando busco datas tipo 06/04/2010 ate 07/04/2010, so acha registro dentro destas datas, mais quando estou pesquizando tipo 10/04/2010 ate 12/04/2010 ele mostra todos os registros do bd. alem do mais se eu colocar datainicio: 06/04/2010 ate 06/04/2010 ele deveria achar so o dia 06, mais tbem acha todos. quem puder me ajudar da um alo ai por favor galerinha, ja quebrei a cabeça Compartilhar este post Link para o post Compartilhar em outros sites
Jaime_Pinheiro 0 Denunciar post Postado Abril 12, 2010 Envie um print_r $sql; para debugar o sql. Compartilhar este post Link para o post Compartilhar em outros sites
Antonella 0 Denunciar post Postado Abril 12, 2010 Envie um print_r $sql; para debugar o sql. perdão, nao intendi Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Abril 12, 2010 já tentou inserir a data manualmente, para fins de teste SELECT * FROM pdi WHERE data BETWEEN '2010-04-06' AND '2010-04-06' outra coisa, tem uma aspa simples sobrando no final da sua query após '$datafim'' $sql = "SELECT * FROM pdi WHERE data BETWEEN '$datainicio' AND '$datafim''"; Compartilhar este post Link para o post Compartilhar em outros sites
Jaime_Pinheiro 0 Denunciar post Postado Abril 12, 2010 Para visualizar o comando sql que está sendo rodado pelo PHP: ... $sql = "SELECT * FROM pdi WHERE data BETWEEN '$datainicio' AND '$datafim'"; print_r($sql); $sql_usuarios = mysql_query($sql) or die( mysql_error() ); ... Estás supondo que o comando esteja certo, mas visualize-o para ter certeza. Compartilhar este post Link para o post Compartilhar em outros sites
Antonella 0 Denunciar post Postado Abril 12, 2010 muito obrigado, achei o erro aqui, tks Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Abril 12, 2010 poste como resolveu, para ajudar usuarios com a mesma duvida Compartilhar este post Link para o post Compartilhar em outros sites
Jaime_Pinheiro 0 Denunciar post Postado Abril 12, 2010 Outra coisa... desconsiderando a lógica empregada aqui... $datainicio = implode('-',array_reverse(explode('/',$_POST['datainicio']))); Seria bom, para você mesma, centralizar em uma rotina. Assim por exemplo: function converteData($data) { return implode('-', array_reverse(explode('/', $data))); } $datainicio = converteData($_POST['datainicio']); $datafim = converteData($_POST['datafim']); Aí só escreve uma vez a rotina e, caso queira alterá-la, altera apenas em um local. Compartilhar este post Link para o post Compartilhar em outros sites