Magic Angel Postado Março 14, 2008 Denunciar Share Postado Março 14, 2008 O que eu tenho? Uma tabela que exibe Eventos.O que eu quero? Separar os Eventos que já passaram (anteriores à data atual) dos que ainda estão por vir.Minha lógica:Separar a data de cada evento com um 'explode', obtendo o dia, mes e ano.Pegar do sistema o dia, mes e ano atuais.comparar em ordem decrescente (1º ano, 2º mes, 3º dia)e então imprimir os dados.Como?<?phpinclude "_bd.php"; //banco de dados$sql = "SELECT * FROM outroseventos ORDER BY datai ASC";$resultado = mysql_query($sql)or die ("Não foi possível realizar a consulta.");while ($linha=mysql_fetch_array($resultado)){$id=$linha['id'];$novadatai = substr($linha['datai'],8,2) . "/" .substr($linha['datai'],5,2) . "/" . substr($linha['datai'],0,4);$novadataf = substr($linha['dataf'],8,2) . "/" .substr($linha['dataf'],5,2) . "/" . substr($linha['dataf'],0,4);$separadatai = explode("/",$novadatai);$dia = intval(date(d)); $mes = intval(date(m)); $ano = intval(date(Y)); $diaevento = intval($separadatai[0]);$mesevento = intval($separadatai[1]);$anoevento = intval($separadatai[2]);if($ano <= $anoevento){if($mes <= $mesevento){if($dia <= $diaevento){echo <<<FGTblahblahblah1FGT;}else{echo <<<RDEblahblahblah2RDE;}}}}?>O problema:Não funciona. Todos os Eventos listados, independente se anteriores à data em questão, ou posteriores, aparecem sempre dentro do 'else'.E eu simplesmente não entendo o porquê.Alguém me dá uma luz, pleeease *-*/ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Março 14, 2008 Denunciar Share Postado Março 14, 2008 Se o seu campo for do tipo date/datetime/timestamp porque você não filtra direto na query?$hoje = date(Y-m-d'); $ja_passaram = mysql(SELECT * FROM outroseventos WHERE datai < '$hoje' ORDER BY datai ASC"); $nao_passaram = mysql(SELECT * FROM outroseventos WHERE datai >= '$hoje' ORDER BY datai ASC");$ja_passaram -> Eventos anteriores a hoje.$nao_passaram -> Eventos que tem data igual ou posterior a hoje. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cassianooliver Postado Março 15, 2008 Denunciar Share Postado Março 15, 2008 eu mesmo precisei fazer isso recentemente, fiz exatamente como o Eserra disse.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Magic Angel
O que eu tenho? Uma tabela que exibe Eventos.
O que eu quero? Separar os Eventos que já passaram (anteriores à data atual) dos que ainda estão por vir.
Minha lógica:
Separar a data de cada evento com um 'explode', obtendo o dia, mes e ano.
Pegar do sistema o dia, mes e ano atuais.
comparar em ordem decrescente (1º ano, 2º mes, 3º dia)
e então imprimir os dados.
Como?
O problema:
Não funciona. Todos os Eventos listados, independente se anteriores à data em questão, ou posteriores, aparecem sempre dentro do 'else'.
E eu simplesmente não entendo o porquê.
Alguém me dá uma luz, pleeease *-*/
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.