Bonjour,

Je viens de réaliser un calendrier en PHP, mais celui-ci ne permet que d'afficher le mot courant. Je fais appel à ce calendrier avec un include().

Seulement j'aimerais maintenant ajouter la possibilité de naviguer entre les mois, mois précédent, mois suivant avec des fleches.

Je sais bien qu'il faut faire appel au Javascript pour un tel calendrier, mais je ne m'y connais que très peu en Javascript c'est pour ca que je fais appel à vous...

Voici mon code actuel :

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
101
102
103
104
105
106
107
108
109
 
 
<?php
 
include("string.inc.php");
 
// Fonction pour afficher le calendrier
	function showCalendar($periode) {
		$leCalendrier = "";
		// Tableau des valeurs possibles pour un numéro de jour dans la semaine
		$tableau = Array("0", "1", "2", "3", "4", "5", "6", "0");
		$nb_jour = Date("t", mktime(0, 0, 0, getMonth($periode), 1, getYear($periode)));
		$pas = 0;
		$indexe = 1;
 
		// Affichage du mois et de l'année
		$leCalendrier .= "<p align=\"center\" style=\"color:#000; font-size:14px;\">\n\t" . monthNumToName(getMonth($periode)) . " " . getYear($periode) ."</p><br />";
		// Affichage des entêtes
		$leCalendrier .= "
		<div align=\"center\">
		<ul id=\"libelle\">
			\t<li>Lu</li>
			\t<li>Ma</li>
			\t<li>Me</li>
			\t<li>Je</li>
			\t<li>Ve</li>
			\t<li>Sa</li>
			\t<li>Di</li>
		</ul><br /><br />";
		// Tant que l'on n'a pas affecté tous les jours du mois traité
		while ($pas < $nb_jour) {
			if ($indexe == 1) $leCalendrier .= "\n\t<ul class=\"ligne\">";
			// Si le jour calendrier == jour de la semaine en cours
			if (Date("w", mktime(0, 0, 0, getMonth($periode), 1 + $pas, getYear($periode))) == $tableau[$indexe]) {
				// Si jour calendrier == aujourd'hui
				$afficheJour = Date("j", mktime(0, 0, 0, getMonth($periode), 1 + $pas, getYear($periode)));
				if (Date("Y-m-d", mktime(0, 0, 0, getMonth($periode), 1 + $pas, getYear($periode))) == Date("Y-m-d")) {
					$class = " class=\"itemCurrentItem\"";
				}
				else {
					// 1 est toujours vrai => on affiche un lien à chaque fois
					// A vous de faire les tests nécessaire si vous gérer un agenda par exemple
					if (1) {
						$class = " class=\"itemExistingItem\"";
 
						$date = Date("Y-m-d", mktime(0, 0, 0, getMonth($periode), 1 + $pas, getYear($periode)));
 
						db_connect();
 
						$sql = 'SELECT COUNT(id) as nbEvents FROM vovinam_events WHERE date="'.$date.'"';
						$req = mysql_query($sql)or die(mysql_error());
						$data = mysql_fetch_assoc($req);
 
						$nbEvents = $data['nbEvents'];
 
						if($nbEvents != 0)
						{
							if((Date("j", mktime(0, 0, 0, getMonth($periode), 1 + $pas, getYear($periode)))) < 10)
							{
								$afficheJour = "<a href=\"index.php?page=infos_event&amp;date_cal=$date\">0" . Date("j", mktime(0, 0, 0, 
								getMonth($periode), 1 + $pas, getYear($periode))) . "</a>";
							}
							else
							{
								$afficheJour = "<a href=\"index.php?page=infos_event&amp;date_cal=$date\">" . Date("j", mktime(0, 0, 0, 
								getMonth($periode), 1 + $pas, getYear($periode))) . "</a>";
							}
						}
						else
						{
							if((Date("j", mktime(0, 0, 0, getMonth($periode), 1 + $pas, getYear($periode)))) < 10)
							{
								$afficheJour = "0" . Date("j", mktime(0, 0, 0, getMonth($periode), 1 + $pas, getYear($periode)));
							}
							else
							{
								$afficheJour = Date("j", mktime(0, 0, 0, getMonth($periode), 1 + $pas, getYear($periode)));
							}
						}
					}
					else {
						$class = "";
					}
				}
				// Ajout de la case avec la date
				$leCalendrier .= "\n\t\t<li$class>$afficheJour</li>";
				$pas++;
			}
			//
			else {
				// Ajout d'une case vide
				$leCalendrier .= "\n\t\t<li>&nbsp;</li>";
			}
			if ($indexe == 7 && $pas < $nb_jour) { $leCalendrier .= "\n\t</ul>"; $indexe = 1;} else {$indexe++;}
		}
		// Ajustement du tableau
		for ($i = $indexe; $i <= 7; $i++) {
			$leCalendrier .= "\n\t\t<li>&nbsp;</li>";
		}
		$leCalendrier .= "\n\t</ul></div>";
 
		// Retour de la chaine contenant le Calendrier
		return $leCalendrier;
	}
 
	echo showCalendar(date("Y-m"));
	echo "<br /><br /><br /><br /><br /><br /><br />";
 
?>
Comment faire ?

Merci d'avance...