Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

danmartinsiss

Pesquisa por datas PHP e MySql

Recommended Posts

Bom dia.

estou com dificuldade para fazer consulta no banco de dados por data, criei a mascara no formulario php e fiz o codigo para a consulta so que ele nao aceita no formato brazileiro, apenas no americano.

a pergunta como faco para pesquisar utilizando a mascara dd/mm/yyyy e retornar os resultados.??

 

esse a pesquisa

$dt1_rsrelatorio = "-1";
if (isset($_GET['dt1'])) {
  $dt1_rsrelatorio = $_GET['dt1'];
}
$dt2_rsrelatorio = "-1";
if (isset($_GET['dt2'])) {
  $dt2_rsrelatorio = $_GET['dt2'];
}
mysql_select_db($database_dbagenda, $dbagenda);
$query_rsrelatorio = sprintf("SELECT * FROM ligparticular WHERE ligparticular.datacadastro BETWEEN %s AND %s ORDER BY datacadastro DESC", GetSQLValueString($dt1_rsrelatorio, "date"),GetSQLValueString($dt2_rsrelatorio, "date"));
$rsrelatorio = mysql_query($query_rsrelatorio, $dbagenda) or die(mysql_error());
$row_rsrelatorio = mysql_fetch_assoc($rsrelatorio);
$totalRows_rsrelatorio = mysql_num_rows($rsrelatorio);
 <form name="form1" action="ReportPrint.php" method="get" target="_blank">
                                <div class="form-group col-md-5">
                                    <label for="data1">Informe a data Inicial: </label>
                                    <input type="text" class="form-control" name="dt1" id="dt1" data-inputmask="'mask': '99/99/9999'" required>
                                    <label for="data2">Informe a data Final: </label>
                                    <input type="text" class="form-control" name="dt2" id="dt2" data-inputmask="'mask': '99/99/9999'" required>
                                </div>
                                <div class="col-md-12">
                                <button type="Submit" name="button" class="btn btn-primary">Gerar Relatório</button>
                                <input type="Reset" value="Limpar" class="btn btn-default">
                                </div>
                            </form>

e esse e o formulario

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual é o tipo do campo? DATETIME ou Varchar?

Se for DATETIME, pode usar STR_TO_DATE e DATE_FORMAT, do próprio MySQL, para fazer as conversões

Veja: http://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html

 

Se for Varchar, sugiro mudar agora sua modelagem e usar DATETIME

 

 

PS: funções mysql_* estão obsoletas desde o PHP 5.5 e serão removidas do PHP em breve. Prefira usar MySQLi ou PDO. Veja mais aqui: http://www.ultimatephp.com.br/php-por-que-nao-utilizar-funcoes-mysql

 

15 Dicas de PHP: http://www.ultimatephp.com.br/guia/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu estou montando dessa forma mas esta retornando query was enpty

("SELECT DATE_FORMAT(ligparticular.datacadastro,'%d/%m/%Y') FROM ligparticular  WHERE ligparticular.
datacadastro BETWEEN %s AND %s ORDER BY datacadastro DESC"

Compartilhar este post


Link para o post
Compartilhar em outros sites

so uma duvida... estou consultando seu site... ultimatephp

como ficaria essa estrutura de pesquisa no banco mysql utilizando o PDO, poderia me mostrar como ficaria

$dt1_rsrelatorio = "-1";
if (isset($_GET['dt1'])) {
  $dt1_rsrelatorio = $_GET['dt1'];
}
$dt2_rsrelatorio = "-1";
if (isset($_GET['dt2'])) {
  $dt2_rsrelatorio = $_GET['dt2'];
}
mysql_select_db($database_dbagenda, $dbagenda);
$query_rsrelatorio = sprintf("SELECT DATE_FORMAT(ligparticular.datacadastro,'%d/%m/%Y') FROM ligparticular  WHERE ligparticular.datacadastro BETWEEN %s AND %s ORDER BY datacadastro DESC", GetSQLValueString($dt1_rsrelatorio, "date"),GetSQLValueString($dt2_rsrelatorio, "date"));
$rsrelatorio = mysql_query($query_rsrelatorio, $dbagenda) or die(mysql_error());
$row_rsrelatorio = mysql_fetch_assoc($rsrelatorio);
$totalRows_rsrelatorio = mysql_num_rows($rsrelatorio);

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.