Bonjour,
Je travaille sur un calendrier/agenda.
J'ai fais en sorte qu'on puisse saisir un événement dans une base de données. Je souhaite maintenant afficher ces événements sur mon calendrier via les styles css.
J'ai donc fais une boucle "for" qui tourne sur tous les jours du mois.
L'événement est bien trouvé et s'affiche correctement mais le jour suivant est doublé.
Par exemple pour les événements du 16, 18 et 20 septembre, mon calendrier va afficher le 16 correctement suivi du 17, alors que les deux événements suivants double la date soit 2x le 18 et 2x le 20...
Voici mon code :
Pouvez-vous me dire ce qui ne va pas ?
Merci.
Modifié par Taly (18 Sep 2006 - 11:16)
Je travaille sur un calendrier/agenda.
J'ai fais en sorte qu'on puisse saisir un événement dans une base de données. Je souhaite maintenant afficher ces événements sur mon calendrier via les styles css.
J'ai donc fais une boucle "for" qui tourne sur tous les jours du mois.
L'événement est bien trouvé et s'affiche correctement mais le jour suivant est doublé.
Par exemple pour les événements du 16, 18 et 20 septembre, mon calendrier va afficher le 16 correctement suivi du 17, alors que les deux événements suivants double la date soit 2x le 18 et 2x le 20...

Voici mon code :
//mois et jour actuels
$moisactuel = date('n');
$jouractuel = date('d');
//pour afficher les evenements existants
$sql = 'SELECT * FROM agenda WHERE mois_even = '.$month.' AND annee_even = '.$year.' ORDER BY jour_even ASC';
$result = mysql_query ($sql, $cnx) or die('Erreur : '.mysql_error());
$result2 = mysql_query ($sql, $cnx) or die('Erreur : '.mysql_error());
$RsAgenda2 = mysql_fetch_array($result2);
$tab_agenda = array();
while ($RsAgenda = mysql_fetch_array($result)) {
array_push($tab_agenda, $RsAgenda[1]);
}
//affiche tous les jours du mois actuel
for ($i = 1; $i <= $jours_mois; $i++) { //de 1 a 30 (ou 31) jours
//si c'est un evenement
foreach($tab_agenda as $value) {//pour chaque evenement
if ($value==$i) {
//si c'est aujourd'hui
if (($jouractuel==$i) && ($moisactuel==$month)) {
echo ('<td width="15" class="caseActifEven"><a href="">'.$i.'</a></td>');
} else { //si ce n'est pas aujourd'hui
echo ('<td width="15" class="caseEven"><a href="">'.$i.'</a></td>');
}
$case++;
if ($case%7==0){ //si on arrive a dimanche aller a la ligne
echo ('</tr><tr>');
}//fin du if
}//fin du if
}//fin du foreach
//si ce n'est pas un evenement
if (!($RsAgenda2[1]==$i) && ($RsAgenda2[2]==$month)) {
//si c'est aujourd'hui
if (($jouractuel==$i) && ($moisactuel==$month)) {
echo ('<td width="15" class="caseActif">'.$i.'</td>');
} else { //si ce n'est pas aujourd'hui
echo ('<td width="15" class="case">'.$i.'</td>');
}
$case++;
if ($case%7==0){ //si on arrive a dimanche aller a la ligne
echo ('</tr><tr>');
}//fin du if
}//fin du if
}//fin du for
Pouvez-vous me dire ce qui ne va pas ?
Merci.
Modifié par Taly (18 Sep 2006 - 11:16)