Ir para conteúdo

POWERED BY:

Arquivado

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

Good

Próximos registros..

Recommended Posts

Tabela:

CREATE TABLE `lancamentos` (
  `id` int(11) NOT NULL auto_increment,
  `titulo` varchar(150) default NULL,
  `data_lancamento` varchar(25) default NULL,
  `categoria` varchar(50) default NULL,
  `status` enum('1','2') default '1',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

 

 

Estou montando um sistema de lançamentos, ae o cara lá no formulário escolhe a data em que vai ser lançada..

 

Ae eu queria fazer pra exibir os futuros lançamentos..

 

Ex: Hoje é dia 08 de Maio de 2010, então eu queria exibir todos os registros que estivessem superior a esta data..

 

Tentei assim:

$select = $cn->query("SELECT * FROM lancamentos WHERE DATE_FORMAT(data_lancamento,'%d-%m-%Y') >= DATE_FORMAT(now(),'%d-%m-%Y') ORDER BY data_lancamento DESC LIMIT 12");

Só que não retornou nenhum resultado..

 

Os valores da data na tabela estão sendo guardados assim: 10-05-2010

 

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente :

 

... WHERE data_lancamento >= now ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

MySQL retornou um conjunto vazio (ex. zero registros). (Consulta levou 0.0016 segundos)

 

Retornou nada..

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao achou nada pq você criou o campo da tabela como varchar... tem que ser um desses date, datetime, timestamp...

 

marco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu tivesse 3 desejos um deles seria gasto pra descobrir pq as pessoas insistem em usar texto em campo de data...

 


select * 
from tabela 
where
concat(rigth(data_lancamento,4),    left(rigth(data_lancamento,7),2)          ,left(data_lancamento,2))  >= date_format(date(now()),'%Y%m%d')

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu tivesse 3 desejos um deles seria gasto pra descobrir pq as pessoas insistem em usar texto em campo de data...

 

Somos dois nisto, nem reparei que o campo em questão era char.

 

Já que querem complicar e usar data como texto pelo menos gravem como AAAAMMDD assim, pelo menos, as comparações do tipo maior /menor/entre funcionam.

 

Mas usem o formato certo, ou como diria um ex-colega de trabalho não tentem abrir coco com um guarda-chuva, usem um abridor de cocos....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aah.. nem percebi tbm..

 

eu sei dessas coisas.. é pq eu já tava programando fazia umas 5 horas.. só parei pra almoçar.. ae fiquei de cabeça inconsciente na programação..

 

ae nem percebi depois isso..

 

vlw

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.