• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

soullucky

Consultas entre datas

9 mensagens neste tópico

Preciso fazer consultas entre datas, onde o utilizador coloca 2 datas, e obtém o resultados de todos os registos entre as datas indicadas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

assim

$sql="select * from tabela where DATE_FORMAT(NOW(), '%x-%m-%d %H:%i:%S') < DATE_FORMAT(data_fim, '%x-%m-%d %H:%i:%S') && DATE_FORMAT(DATE_ADD(NOW(), INTERVAL '07' DAY), '%x-%m-%d %H:%i:%S') > DATE_FORMAT(data_fim, '%x-%m-%d %H:%i:%S') ";

isto é um exemplo em que tens a data_fim na tua base de dados, somas 7 dias a essa data, e comparas com a data_actual se tem menos que 7 dias ou nao

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

estou a entender a lógica mas podias ser um pouco mais claro. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tens que ver as opçoes que tens no mysql, tens imensas para trablhar com datas, eu nao vou explicar aqui todas, nem eu as sei todas, isso é uma coisa que convem consultar porque tens imensas cada uma ideal para uma coisa.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

se o utilizador insere as datas só tens que fazer

Supomos que as datas são enviadas via post através de um formulário, um campo devolve o index data1 e o outro o index data2

$sql = 'SELECT * FROM tabela WHERE data > \''.$_POST['$data1'].'\' AND data < \''.$_POST['data2'].'\';'

// depois corres a query (vou assumir que a ligação esta aberta)

$result = mysql_query($sql);

//depois é so tratar os resultados

Não vale a pena complicar com querys complexas para fazer coisas simples.

Fica bem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

convem indicares o formato da data ao mysql, para evitar erros.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Agradeço já a vossa ajuda.

é necessário converter a timestamp para fazer a consulta?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esqueci-me de mencionar que os campos data1 e data2 não estão na mesma coluna.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

convem quando escreveres uma data no mysql saberes o formato a que tas a escrever

yyyy:mm:dd hh:mm:ss

ou

dd-mm-yyyy hh:mm:ss

porque tu tens que indicar ao mysql senao date erros na pesquisa

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora