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










