Ir para conteúdo
Fórum Script Brasil
  • 0

Listando data ordenado por mês


LUHCIANO

Pergunta

pessoal.

preciso fazer uma calendario listando datas ordenadas por mês!

ex:

Janeiro

13/01/2010 - evento tal

Fevereiro

15/02/2010 - Evento tal

so que ate´agora consegui ele fazer a listagem completa..

não sei como dividir por categoria!

vou coloca meu codigo aqui..

ver se alguém pode me ajudar!

$sql_conta = "SELECT * FROM agenda ORDER BY DATE_FORMAT(data,'%m') desc";
        $query = mysql_query($sql_conta);
<div id="lateralInt">
        <h2>Agenda Completa</h2>
   <hr />
        <? while ($linha = mysql_fetch_array($sql_conta)) { ?>

        <? if($linha["dt_final"] == "0000-00-00") { ?>
    
   <p><a href="?id=agenda&id_age=<?=$linha["id_agenda"] ?>"><span style="color:#006600;">

<?=implode('/',array_reverse(explode('-',$linha["data"]))) ?></span> - <?=$linha["titulo"] ?></a></p>

                <? } else { ?>

    <p><a href="?id=agenda&id_age=<?=$linha["id_agenda"] ?>"><span style="color:#006600;">

<?=implode('/',array_reverse(explode('-',$linha["data"]))) ?></span> a <span style="color:#006600;">

<?=implode('/',array_reverse(explode('-',$linha["dt_final"]))) ?></span> - <?=$linha["titulo"] ?></a></p> <? } ?>

    <?  } ?>

    <div id="pag"><? include("paginacao2.php"); ?></div>

</div>

alguém poder me ajudar!

fico grato.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Basta controlar a impressão dos meses por uma variável...

$sql_conta = "SELECT * FROM agenda ORDER BY DATE_FORMAT(data,'%m') desc";
        $query = mysql_query($sql_conta);
<div id="lateralInt">
        <h2>Agenda Completa</h2>
   <hr />
        <? while ($linha = mysql_fetch_array($sql_conta)) { 
$mes = explode('-',$linha["data"]);
if($mes_atual != $mes['1']){
echo '<br>'.$mes['1'].'<br>';
$mes_atual = $mes['1'];
}
?>

        <? if($linha["dt_final"] == "0000-00-00") { ?>
    
   <p><a href="?id=agenda&id_age=<?=$linha["id_agenda"] ?>"><span style="color:#006600;">

<?=implode('/',array_reverse(explode('-',$linha["data"]))) ?></span> - <?=$linha["titulo"] ?></a></p>

                <? } else { ?>

    <p><a href="?id=agenda&id_age=<?=$linha["id_agenda"] ?>"><span style="color:#006600;">

<?=implode('/',array_reverse(explode('-',$linha["data"]))) ?></span> a <span style="color:#006600;">

<?=implode('/',array_reverse(explode('-',$linha["dt_final"]))) ?></span> - <?=$linha["titulo"] ?></a></p> <? } ?>

    <?  } ?>

    <div id="pag"><? include("paginacao2.php"); ?></div>

</div>

Óbvio que se você quiser o mês por extenso terá que converter, mas pra isso tem N modos, além do que, poderia na própria query já trazer o mês separado para não ter que usar o explode para extrair essa informação, mas lógica é essa...

Link para o comentário
Compartilhar em outros sites

  • 0

estava fazendo um calendario de compromisso pra mim tambem a uns meses e me deparei com o mesmo problema, comecei a fazer com switch depois resolvi complicar ainda mais e deixar alinhado por horas, e percebi que era mais trabalho do que solucao, então pesquisei e encontrei codigos prontos já em ajax perfeitinho, preferi baixar e adaptar as minhas necessidades, se voce tiver tempo livre e vontade de aprender, aconselho voce a continuar seu projeto, mais caso não tenha tempo que nem eu, da uma olhada http://www.ajaxrain.com/tag?tag=calendar ve se pra voce tambem n vale apenas so adaptar um pronto.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...