Jump to content


Photo

Como Selecionar Dados De Uma Tabela Mysql Entre Duas Datas?


  • Faça o login para participar
3 replies to this topic

#1 TheProgrammer

TheProgrammer

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Masculino
  • Localidade:RS

Posted 06/12/2010, 23:03

Tenho uma tabela no banco de dados com o campo data no formato Y-m-d H:i:s e gostaria de selecionar os dados em um intervalo de datas. Por exemplo, entre os dias 10/11/2010 até o dia 09/12/2010.

Fiz ele da forma abaixo:
$query_R1 = "SELECT *, date_format(data, '%d/%m/%Y') as data FROM estoque WHERE date_format(data, '%d/%m/%Y') BETWEEN '".$_POST['datai']."' AND '".$_POST['dataf']."' ORDER BY data DESC";

Desta forma não está dando certo, ele só está verificando o dia. Como faço para resolver isto?

#2 Luckas

Luckas

    Luckas

  • Usuários
  • 341 posts
  • Sexo:Masculino
  • Localidade:Itapira SP.
  • Interesses:HTML
    PHP
    CSS
    PhotoShop

Posted 07/12/2010, 00:21

Cara, tenta o seguinte.

SELECT FROM estoque WHERE data BETWEEN ’$var_data_1′ AND  ’$var_data_2′;

o campo data no bd tem de estar como "date"
e as duas variaveis (’$var_data_1′ e ’$var_data_2′) precisam estar formatadas no padrão internacional (por exemplo data de hoje "2010-12-07").

Trabalho desta forma e tah funcionando. Abraços.
Luckas_
********
cheeseboy_@hotmail.com

#3 Fábio Web Arts

Fábio Web Arts

    Web IN Arts

  • Usuários
  • 299 posts
  • Sexo:Masculino
  • Localidade:No Saco De Magé
  • Interesses:Tudo que for da área de Informática

Posted 07/12/2010, 08:48

eu faria assim:

$query_R1 = "SELECT *, date(data) as data FROM estoque WHERE date(data) BETWEEN date('".$_POST['datai']."') AND date('".$_POST['dataf']."') ORDER BY data DESC";

usei a funcao date acho ela melhor!!

#4 TheProgrammer

TheProgrammer

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Masculino
  • Localidade:RS

Posted 07/12/2010, 09:17

Eu mesclei as duas opções.

$query_R1 = "SELECT *, date_format(data, '%d/%m/%Y') as data FROM estoque WHERE date(data) BETWEEN date('".$_POST['data1']."') AND date('".$_POST['data2']."') ORDER BY data DESC";

A $_POST['data1'] e $_POST['data2'] fiz no formato Y-m-d e funcionou perfeito.

Obrigado pessoal!




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq