Un calendrier mois par mois ?

Mammouth du PHP | 545 Messages

01 févr. 2008, 19:45

Bonjour,

J'ai fait un calendrier en PHP (à voir ici) mais je ne trouve pas qu'il est agréable à lire ... j'aimerai une séparation mois par mois comme celui-ci qui est en html pur et dur !

Quelqu'un peut-il me dire comment y arriver ? Des petits tuyaux pour bibi ? Enfin, j'ai une idée qui est de tout cloisonner mois par mois avec des if par rapport à la date mais est-ce que c'est une bonne méthode ?

Merci
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

01 févr. 2008, 20:07

J'imagine que tu utilises une boucle pour afficher tes dates ...

Il te suffit d'utiliser une variable qui contient le dernier mois parcourus, et si ce mois change, tu affiches le nouveau mois.

Un truc du genre
$mois_courant = 0;
 foreach( $a_evenement as $o_evenement )
{
  if( $o_evenement->getMois() != $mois_courant )
  {
    sprintf("Mois : %s <br />", $o_evenement->getMois());
    $mois_courant = $o_evenement->getMois();
  }

  sprintf("Evenement : %s <br />", $o_evenement->getLibelle());
}
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 545 Messages

04 févr. 2008, 11:14

Bonjour,

Voilà, je me suis inspiré de la proposition de Zeus, que je remercie, pour faire mon calendrier:

Code : Tout sélectionner

if( $mois != $mois_courant ){ $mois_courant = $mois; switch ($mois) { case '01': $m = _JAN; break; case '02': $m = _FEV; break; case '03': $m = _MARS; break; case '04': $m = _AVR; break; case '05': $m = _MAI; break; case '06': $m = _JUIN; break; case '07': $m = _JUILLET; break; case '08': $m = _AOUT; break; case '09': $m = _SEP; break; case '10': $m = _OCT; break; case '11': $m = _NOV; break; case '12': $m = _DEC; break; } echo '<tr><td colspan="5"><div align="center"><h1>' . $m .'</h1></div></td></tr>'; } if ($affichage == '1') { echo '<tr bgcolor="' . $bgcolor . '">'; if ($link_course =='1'){ echo '<td><a href="' . $link . $id . '">' . $date . '</a></td>' . '<td><a href="' . $link . $id . '">' . $course->lieu . '</a></td>' . '<td><a href="' . $link . $id . '">' . $course->course . '</a></td>' . '<td><a href="' . $link . $id . '">' . $course->kilometrage . '</a></td>' . '<td><a href="' . $link . $id . '">' . $heure . '</a></td>' ; } echo '</tr>'; }
Pourquoi ne pas avoir pris 100% de la proposition ? A cause de la fameuse function getMois() qui ne me parlait pas !

Merci pour tout
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!