Tenho um BD com um campo onde armazeno uma data no formato brasileiro dd/mm/aaaa e o tipo do campo é VARCHAR. Preciso agora realizar consultas neste banco, informando data inicial e final de um intervalo. Aí está o problema. Já tentei de toda a forma converter na hora a data para conseguir realizar a consulta, e para meu espanto, a sintaxe d/m/Y do date está me retornando a data invertida.
Agradeço se alguém conseguir me ajudar. A pesquisa abaixo, apesar de grande, funciona perfeitamente sem o between de datas em negrito que preciso inserir.
Segue o código:
<?php require_once("connect.php"); [b]$data1 = date("d/m/Y", strtotime($_POST['data_search_ini']));[/b] //aqui já fica estranho pois quando dou um echo em outra parte do script a data capturada aparece como m/d/Y, ex: Se digitei 10/05/2010 aparece 05/10/2010, acho que aqui está o problema [b]$data2 = date("d/m/Y", strtotime($_POST['data_search_ini2']));[/b] ?> <html> <head> <meta http-equiv="Content-Language" content="pt-br"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Pesquisa Intervalo Técnico</title> <style type="text/css"> <!-- .arial12 {font-family: Arial, Helvetica, sans-serif; } .arial12 {font-size: 12px; } --> </style> </head> <form id="form1" name="form1" method="post" action="hora5.php"> <p align="center">Teste de data</p> <p align="center">data inicio = <label> <input type="text" name="data_search_ini" id="data_search_ini"> </label> </p> <p align="center">data término = <label> <input type="text" name="data_search_ini2" id="data_search_ini2"> </label> </p> <p align="center"> <label> <input type="submit" name="button" id="button" value="Pesquisa!!!"> </label> </p> <p align="center">Data Pesquisada Inicial: <span class="arial12"><?php echo $data1; ?></span></p> <p align="center">Data Pesquisada Final: <span class="arial12"><?php echo $data2; ?></span></p> <table width="980" border="0" align="center" cellpadding="5"> <tr bgcolor="#999999"> <td width="101" bgcolor="#CCCCCC" class="arial12">Ordem</td> <td width="67" bgcolor="#CCCCCC" class="arial12">Teminal</td> <td width="86" bgcolor="#CCCCCC" class="arial12">Empresa</td> <td width="71" bgcolor="#CCCCCC" class="arial12">Tipo</td> <td width="81" bgcolor="#CCCCCC" class="arial12">Agendamento</td> <td width="53" bgcolor="#CCCCCC" class="arial12">Período</td> <td width="229" bgcolor="#CCCCCC" class="arial12">Técnico</td> <td width="194" bgcolor="#CCCCCC" class="arial12">Status</td> </tr> <?php //consulta principal que lista os serviços $painel = mysql_query ("SELECT ordem.id,ordem.ordem,ordem.terminal,tipo.tipo,ordem.data_agenda,periodo.periodo,tecnico.re,tecnico.nome,tecnico.telefone_celular,ordem.hora,usuarios.nome_completo,status.status,empresa.empresa FROM ordem JOIN tipo ON tipo.id = ordem.tipo JOIN periodo ON periodo.id = ordem.periodo JOIN tecnico ON tecnico.id = ordem.tecnico JOIN usuarios ON usuarios.id = ordem.usuario JOIN status ON status.id = ordem.status JOIN empresa ON empresa.id = ordem.empresa WHERE ordem.empresa = '1' AND ordem.status = '3' AND ordem.tipo ='0' [b]AND ordem.data_agenda BETWEEN '$data1' AND '$data2' [/b] ORDER BY ordem.data_agenda ASC "); $linhas = mysql_num_rows($painel); while ($res = mysql_fetch_array($painel)){ $p10 = $res[0]; $p11 = $res[1]; $p12 = $res[2]; $p13 = $res[3]; $p14 = $res[4]; $p15 = $res[5]; $p16 = $res[6]; $p17 = $res[7]; $p18 = $res[8]; $p19 = $res[9]; $p20 = $res[10]; $p21 = $res[11]; $p22 = $res[12]; ?> <tr> <td class="arial12"><?php print $p11; ?></td> <td class="arial12"><?php print $p12; ?></td> <td class="arial12"><?php print $p22; ?></td> <td class="arial12"><?php print $p13; ?></td> <td class="arial12"><?php print $p14; ?></td> <td class="arial12"><?php print $p15; ?></td> <td class="arial12"><?php print $p17; ?></td> <td class="arial12"><?php print $p21; ?></td> </tr> <?php } ?> </table> <p align="center">Total: <?php echo $linhas; ?> Resultados</p> <p align="center"> </p> <p align="center"> </p> </form> </body> </html>
Muito obrigado.
Edição feita por: André Manoel, 14/09/2010, 15:51.
Postar código fonte entre as tags code