Jump to content


Photo

Problemas Com Data


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

#1 fael.

fael.

    Turista

  • Usuários
  • 32 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 19/08/2006, 09:19

Beleza galera , to com probleminha basico :D

Tenho 3 campos , DD MM AA , preciso ordena-los por data , onde 01/01/06 vem primeiro que 02/01/06

e gostaria que as datas que ja se passaram ele não exibe.

OBS. Nunca usei o campo como DATE , não sei como é , se alguem puder explicar , agradeço


Sem Mais , obrigado
Please, respostas mais exatas....

#2 pgnall

pgnall

    Enable

  • Usuários
  • 383 posts
  • Sexo:Masculino
  • Localidade:http://eduardo.sganzerla.net

Posted 19/08/2006, 10:24

eu acho mais pratico usar o campo DATE...

ele armazena a data na seguinte forma: AA-MM-DD ou AAAA-MM-DD, na hora de exibir coloque DATE_FORMAT(campo_data, %d/$m/$y) e sai como você quer...

Qualquer dúvida acesse o manual do MySQL.

;)
Eduardo Sganzerla
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀


www.Eu Sei Escrever.com.br - Adote esta campanha!

#3 Petry

Petry

    Veterano

  • Usuários
  • 1132 posts
  • Sexo:Masculino
  • Localidade:Caxias do Sul - RS
  • Interesses:- desenvolvimento WEB<br />- websemântica<br />- microformatos

Posted 21/08/2006, 13:26

eu acho mais pratico usar o campo DATE...

ele armazena a data na seguinte forma: AA-MM-DD ou AAAA-MM-DD, na hora de exibir coloque DATE_FORMAT(campo_data, %d/$m/$y) e sai como você quer...

Qualquer dúvida acesse o manual do MySQL.

;)

acho que o pgnall de confundiu.... o certo seria
SELECT DATE_FORMAT(campoData,'%d/%m/%Y') FROM tblteste
com pocentagem (%) no inicio...

complementando... o ano em maiusculo, retornará todo o ano ex 2006; em minusculo retornaria soh as 2 ultimas casas...

Posted Image

- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News

Blog

#4 fael.

fael.

    Turista

  • Usuários
  • 32 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 22/08/2006, 12:06

Entendi tudo :D

Mais ainda restam 2 dúvidas :(

Meu código esta assim:

sql = mysql_query("SELECT * FROM XXX WHERE date [color=#FF0000]<> HOJE[/color]"); 

while ($dados = mysql_fetch_array($sql)){ 

$dia = $dados["dia"];
$mes = $dados["mes"];
$ano = $dados["ano"];
$xxx = $dados ["xxx"]
1ª duvida - Como eu montaria o código, usando esse SELECT sendo que preciso de mais dados.
SELECT DATE_FORMAT(campoData,'%d/%m/%Y') FROM tblteste
2ª Gostaria que as datas que ja se passaram ele não exibe (Em Vermelho).

THANKS
Please, respostas mais exatas....

#5 Petry

Petry

    Veterano

  • Usuários
  • 1132 posts
  • Sexo:Masculino
  • Localidade:Caxias do Sul - RS
  • Interesses:- desenvolvimento WEB<br />- websemântica<br />- microformatos

Posted 22/08/2006, 14:53

ahhh vc tem os campos DIA MES e ANO no banco separados??? cara se vc fizer uma consulta para ordenar ela vai fica muito pesada... coloca em vez deste 3 campos um campo DADE como o pgnalll flw, dai pra pegar os valores separados vc pega usando as funções YEAR,MONTH,DAY, e depois pra ordenar vc usa o ORDER BY


a consulta abaixo exibe as datas, separadas, ordenados pela data e exibindo somente os registros cuja data é maior que hoje.
SELECT DAY(campo_data) dia, MONTH(campo_data) mes, YEAR(campo_data) ano FROM tabela WHERE campo_data >= NOW()
ORDER BY campo_data ASC

Posted Image

- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News

Blog




1 user(s) are reading this topic

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

IPB Skin By Virteq