Ir para conteúdo

POWERED BY:

Arquivado

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

Ederjsantos

Buscar data

Recommended Posts

Bom dia, pessoal gostaria de saber como que faço

pra fazer uma busca de data tipo:

quero tudo que eu cadastrei no dia 12/08/2009

e quantas foram

a principio eu fiz assim:

 

$sql = "SELECT * , convert(char(10), DTCADASTRO,103) as DTCADASTRO FROM PESSOA WHERE DTCADASTRO LIKE '%$DTCADASTRO%'";

 

porém esta vindo todas as datas,

alguem sabe como posso fazer essa busca??

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentou tirar o LIKE e por um = '$DTCADASTRO' ?

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Se nao me engano, oq você ta fazendo ai vai pegar tudo q tiver no banco q tenha os caracteres dessa data, tipo o ano. http://forum.imasters.com.br/public/style_emoticons/default/pinch.gif

 

seria algo como:

 

$sql = "SELECT * , convert(char(10), DTCADASTRO,103) as DTCADASTRO FROM PESSOA WHERE DTCADASTRO = '$DTCADASTRO' ";

Compartilhar este post


Link para o post
Compartilhar em outros sites

o campo dtcadastro é do tipo date ?

como você quer exatamente aquela data - (12/08/2009), qual a intenção do uso do coringa "%"

tente tirar os corigas....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao deu certo do jeito0 que vcs falaram pra fazer não retornou nada,

estou fazendo um relatorio e o usuario vai digitar a data que ele quer que retorne,a quantidade de vezes que aquela data repete no banco de dados eh da um count na minha data e nao to dabendo fazer isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o usuario digita no formato dd/mm/yyyy

você deve estar consultando nesse formato e as datas no banco sao gravadas yyyy-mm-dd.

tenta fazer o seguinte , antes de consultar converta o valor informado no form para yyyy-mm-dd

list($dia,$mes,$ano)=explode("/",$_POST["campo_do_form"]);
$DTCADASTRO = $ano."-".$mes."-".$dia; //2009-08-12
//agora o sql com a data no formato correto
$sql = "SELECT * , convert(char(10), DTCADASTRO,103) as DTCADASTRO FROM PESSOA WHERE DTCADASTRO LIKE '$DTCADASTRO'";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Correto, porem a data que estou passando para fazer a busca ela nao é digitada pelo usuario, eu tenho um calendário pronto que ele escolhe a data que ele quer e manda buscar a mesma,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguem sabe o pq essa data não retornou de forma correta

$sql = "SELECT * FROM PESSOA WHERE convert(char(10), DTCADASTRO,103)='$DTCADASTRO'";

 

o converter nao deu certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

funções como CONVERT você deve fazer qndo está listando os campos que pretende trazer da consulta, isto é, antes do nome da tabela.

 

Seria muito melhor se o tipo de campo fosse DATE

Qual é a dúvida agora?

 

Poste a estrutura da tabela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

a duvida é:

 

a estrutura da tabela esta assim:

um datetime

2009-03-09 00:00:00

eu qro que ela apareça assim

09-03-2009...

 

No select que postei acima o converter seria pra fazer isso, mas nao deu certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu faço assim

 

SELECT *,date_format(nome_do_campo, '%d-%m-%Y') AS data FROM nome_da_tabela

ai você continuaria com o WHERE...

 

mas antes formata a variavel q vai no where pra Y-m-d

 

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu problema parece ser ao efetuar a consulta, então vou mover para o fórum correto.

Tópico Movido

PHP http://forum.imasters.com.br/public/style_emoticons/default/seta.gif SQL Server

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.