Bonjour,
Je travaille sur un calendrier/agenda. L'utilisateur peut saisir des événements et ces derniers doivent s'afficher sur le calendrier (via une case colorée par exemple).
Je fais un select dans ma BDD pour récupérer tous les événements enregistrés et je les place dans une table.
Mon problème ce que je n'arrive pas à faire avancé le script dans cette table pour passer en revue tous les enregistrements.
Voici mon code (en bleu le passage qui me pose problème) :
Avez-avez vous une solution à me proposer ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100 $sql = 'SELECT * FROM agenda'; $result = mysql_query ($sql, $cnx) or die('Erreur : '.mysql_error()); $RsAgenda = mysql_fetch_array($result); //annee sur 4 chiffres if(!$_GET['y']) { $year = date('Y'); } else { $year = $_GET['y']; } //mois numerique if(!$_GET['m']) { $month = date('n'); } else { $month = $_GET['m']; } //jour numerique if(!$_GET['d']) { $day = date('d'); } else { $day = $_GET['d']; } //timestamp du mois $time = mktime(0,0,0,$month,1,$year); //nombre de jours dans le mois $jours_mois = date('t',$time); //dernier jour du mois if ($day > $jours_mois) { $day = $jours_mois; } //premier jour du mois $firstday = (date('w',$time)+6) % 7; //liens mois precedents/suivants $precedent='?y='.($month<2?$year-1:$year).'&m='.($month<2?12:$month-1).'&d='.$day; $suivant='?y='.($month>11?$year+1:$year).'&m='.($month>11?1:$month+1).'&d='.$day; //le mois textuel en francais if ($month==1) { $moistextuel = "Janvier"; } if ($month==2) { $moistextuel = "Février"; } if ($month==3) { $moistextuel = "Mars"; } if ($month==4) { $moistextuel = "Avril"; } if ($month==5) { $moistextuel = "Mai"; } if ($month==6) { $moistextuel = "Juin"; } if ($month==7) { $moistextuel = "Juillet"; } if ($month==8) { $moistextuel = "Août"; } if ($month==9) { $moistextuel = "Septembre"; } if ($month==10) { $moistextuel = "Octobre"; } if ($month==11) { $moistextuel = "Novembre"; } if ($month==12) { $moistextuel = "Décembre"; } ?> <div class="entete"> <a href="<?PHP echo $precedent; ?>"><<</a> <?PHP echo ($moistextuel.' '.$year.' '); ?> <a href="<?PHP echo $suivant; ?>">>></a> </div> <table width="105" class="tableau" cellpadding="5" cellspacing="0"> <tr> <td width="15" class="jours">L</td> <td width="15" class="jours">M</td> <td width="15" class="jours">M</td> <td width="15" class="jours">J</td> <td width="15" class="jours">V</td> <td width="15" class="jours">S</td> <td width="15" class="jours">D</td> </tr> <tr> <?PHP $case = 0; //premiere case //affiche les premiers jours a blanc for ($i = 0; $i < $firstday; $i++) { echo ('<td width="15"> </td>'); $case++; //avance d'une case } //mois et jour actuels $moisactuel = date('n'); $jouractuel = date('d'); //affiche tous les jours du mois actuel for ($i = 1; $i <= $jours_mois; $i++) { //de 1 a 31 jours //si c'est un evenement et aujourd'hui if (($RsAgenda[1]==$i) && ($$RsAgenda[2]==$month) && ($jouractuel==$i) && ($moisactuel==$month)) { echo ('<td width="15" class="caseActif"><a href="?y='.$year.'&m='.$month.'&d='.$i.'">'.$i.'</a></td>'); } else { if (($jouractuel==$i) && ($moisactuel==$month)) { echo ('<td width="15" class="caseActif"><a href="?y='.$year.'&m='.$month.'&d='.$i.'">'.$i.'</a></td>'); } else { echo '<td width="15" class="case"><a href="?y='.$year.'&m='.$month.'&d='.$i.'">'.$i.'</a></td>'; }//fin du else }//fin du else $case++; if ($case%7==0){ //si on arrive a dimanche aller a la ligne echo ('</tr><tr>'); }//fin du if }//fin du for // determine si une ligne est entamee ou non $i = $case % 7 ; // ajoute des cases vides pour finir la ligne for ($j = $i; $j < 7; $j++) { echo '<td width="15"> </td>'; }
Merci
Partager