Boucle calendrier

shadow578 Messages postés 102 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 27 juin 2011 - 27 oct. 2010 à 11:56
cs_ludwig59 Messages postés 128 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 6 mai 2011 - 27 oct. 2010 à 12:17
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

cs_ludwig59 Messages postés 128 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 6 mai 2011 2
27 oct. 2010 à 12:17
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>';
}
}

0
Rejoignez-nous