Ir para conteúdo

POWERED BY:

Arquivado

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

doulo4ever

yyyy-mm-dd é um saco

Recommended Posts

Pessoal,

 

Existe alguma forma de eu ordenar uma pesquisa do banco de dados por data sem necessidade de a data estar no formato yyyy-mm-dd no banco de dados??

 

Numa galeria de fotos minha, o campo "data" está no formato dd/mm/yyyy ....agora quero colocar pra ordenar por data e não mais pelo "id" da galeria, só que me deparei com esse problema, porque ele ordena defeituosamente da seguinte forma:

 

31/08/2008

26/10/2008

19/09/2008

19/07/2008

 

Veja que ordenou a data 31/08/2008 antes da data 26/10/2008 !!

 

Preciso de uma dica se tem como fazer essa ordenação aparecer certa mesmo com a data estando no formato brasileiro pra mim não precisar mudar todo o banco de dados!!

 

Obrigaduu!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o campo esta como texto né?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá flavialieggio, a query está desse jeito mesmo:

 

ORDER BY data DESC

Então não é isso naumm! :rolleyes:

 

Mário, sim o campo da data é text mesmo!

 

Aguardo as dicas!

 

Obrigado,

T++

Compartilhar este post


Link para o post
Compartilhar em outros sites

por isso esta aparentando erro mas esta certo

 

esta ordenando como texto

 

porque nao criou o campo com o tipo de dados correto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas daí eu teria que salvar no banco de dados no formato yyyy/mm/dd .... por isso a minha dúvida é se tem como eu ordenar corretamente mesmo com os dados estando no formato dd/mm/yyyy .... daquela forma americana eu sei que funciona mesmo, mas queria saber se tem alguma forma de eu utilizar no formato brasileiro e dar certo!

 

t++

Compartilhar este post


Link para o post
Compartilhar em outros sites

se estiver com o tipo de dados certo ordenará corretamente em qualquer formato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rapá, meu conselho.

Use sempre os tipos corretos no banco de dados.

Se o que você vai guardar é uma data, então crie esse campo como date, ou datetime.

 

Quando ele retornar yyyy/mm/dd basta aplicar um date_format(campo,'') as novo_nome e esta tudo resolvido, além de conseguir ordernar perfeitamente.

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é o certo a se fazer

 

mas tem muitos que ainda coloam tudo em campos de texto ai tem problemas futuramente

Compartilhar este post


Link para o post
Compartilhar em outros sites

jeito tem mas ja leva pro lado da gambiarra porque voce comecou errado

 

poste o seu select aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alterei tudo aqui e tá funcionando que é uma maravilha!! Alterei o campo pra date e alterei todas as datas para o formato americano!! É um lixo mas fazer oq né!! Se não teria que fazer gambiarra mesmo como você disse Mário, temos que trabalhar no formato nativo mesmo né!!

 

O select ficou dessa forma:

 

SELECT *, date_format(data, '%d/%m/%Y') as dataf FROM galeriadefotos ORDER BY data DESC

Desse jeito ele ordena perfeitamente as datas e de quebra já transforma no formato brasileiro pra ser exibido!! Coisa linda de se ver!!

 

Abraços pessoal, parabéns por estarem sempre presentes por aqui!

 

T++ http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom qeu decidiu fazer da forma correta

 

Tenho certeza que so tem a ganhar com isso

 

Parabens

Compartilhar este post


Link para o post
Compartilhar em outros sites
  doulo4ever disse:

Alterei tudo aqui e tá funcionando que é uma maravilha!! Alterei o campo pra date e alterei todas as datas para o formato americano!! É um lixo mas fazer oq né!! Se não teria que fazer gambiarra mesmo como você disse Mário, temos que trabalhar no formato nativo mesmo né!!

 

O select ficou dessa forma:

 

SELECT *, date_format(data, '%d/%m/%Y') as dataf FROM galeriadefotos ORDER BY data DESC

Desse jeito ele ordena perfeitamente as datas e de quebra já transforma no formato brasileiro pra ser exibido!! Coisa linda de se ver!!

 

Abraços pessoal, parabéns por estarem sempre presentes por aqui!

 

T++ http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Isso amigo, isso. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

doulo4ever so esclarecendo essas regras nao sao dos programadores PHP, sao padrao de data americano e qualquer banco de dados com campo tipo date segue esse padrao, muita gente faz errado, porque nao consegue formatar a data

 

é simples evite gambiarras

 

t+ :D

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.