Boucle calendrier

Signaler
Messages postés
102
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
27 juin 2011
-
Messages postés
128
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
6 mai 2011
-
Bonjour,

Voilà je réalise un calendrier jusqu'à là tout vas bien.
Maintenant je voudrais rajouter dans mon calendrier des évenements ou la date est inscrit dans une base de données. ok.

Donc j'enregistre mes dates dans ma bdd exemple: 'jourEvenement = 22'

Et dans mon calendrier je voulais dire lorsque quand je fais mon calendrier il rencontre jourEvenement il colorie la cellule.

Mon code:
// Ecriture de mon calendrier i allant de 1 à 31...
for ($i=1; $i<=$nbJour; $i++){
if ($i == 12) echo '</tr><tr>'; // retour à la ligne au 12éme jour
if ($i == 23) echo '</tr><tr>'; // retour à la ligne au 22éme jour

        // $nombreEvenement[] est un tableau contenant les jourEvenement de ma bdd 
if ($nombreEvenement[0] == $i){
echo '<td>'.$i.'</td>'; 
}else{
echo '<td>'.$i.'</td>';
}
}


La sa marche pour la derniére date de mon tableau alors j'avais penser à faire une boucle sur mon $nombreEvenement exemple:

for ($i=1; $i<=$nbJour; $i++){
if ($i == 12) echo '</tr><tr>'; // retour à la ligne au 12éme jour
if ($i == 23) echo '</tr><tr>'; // retour à la ligne au 22éme jour

        for ($j=0; $j<=$nbEvenementBdd; $j++){
  if ($nombreEvenement[$j] == $i){
 echo '<td>'.$i.'</td>'; 
  }else{
    echo '<td>'.$i.'</td>';
  }
        }
}


Mais la sa m'écrit 3fois le jour exemple calendrier : 111|222|333|444 ... etc
Normal puisque il fait la boucle jusqu'au nbEvenementBdd=3 .

Y a t'il un moyen pour mettre $nombreEvenement[0], $nombreEvenement[1] .. etc

Mercii

1 réponse

Messages postés
128
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
6 mai 2011
2
Bonjour,

Si ton tableau contient les jours où il y a des événements,
Il suffit de vérifier si le jour $i de ta boucle est présent dans ton tableau.

for ($i=1; $i<=$nbJour; $i++){
if ($i == 12) echo '</tr><tr>'; // retour à la ligne au 12éme jour
if ($i == 23) echo '</tr><tr>'; // retour à la ligne au 22éme jour

// $nombreEvenement[] est un tableau contenant les jourEvenement de ma bdd 
// on vérifie si le tableau n'est pas vide et si $i est présent dans ce 
// tableau
if (!empty($nombreEvenement) && in_array($i,$nombreEvenement))
        {
echo '<td>'.$i.'</td>'; 
}
        else
        {
       echo '<td>'.$i.'</td>';
}
}