Je developpe un calendrier en php pour gestion de location et j'aimerais changer de couleur sur le calendrier en fonction de l'etat de la location

Voici la table avec le champs etat 1 : occupé et 0 : libre

Pièce jointe 37911

Voici le resultat :

Pièce jointe 37910
Pièce jointe 37909

Tout apparait en vert alors que je teste mon champs etat

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 if ($etat == 1) { $class = " class=\"reserve\""; } else { $class = " class=\"lib\""; }
Voici le code en entier :
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
 
<?php 
// -----------------------------------------
 
// Source  :	http://cogites.com
// Script  :	E RESERV
// Version :	3.1
// ----------------------------------------- 
// Fonction pour afficher le calendrier
function showCalendar($periode)
{ 
    // on reprend les variables
    $an = getYear($periode);
    $mois = getMonth($periode); 
    // si le fomulaire a été posté on prend la variable ID_location dans le champ caché du fomulaire de requête
    if ($_POST) {
        $id_annonce = $_POST['id_annonce'];
    } 
    // sinon  on prend la variable id_annonce'passée dans l'url. A la première ouverture de la pop.
    else {
        $id_annonce = $_GET['id_annonce'];
    } 
    // on vérifie s'il y a des jours réservés dans le mois demandé. s'il y en a on les place dans le tableau $res
    $res = array();
    $jour = "1";
    while ($jour <= 31) {
        $date_test = "$an-$mois";
        if ($jour < 10) {
            $date_test .= "-0$jour";
        } else {
            $date_test .= "-$jour";
        } 
        // la requete cherche si les jours du mois a afficher sont dans les intervals entre les dates de début et de fin d'une même réservation
        $req = mysql_query("SELECT datedeb, etat FROM reserv WHERE id_annonce='$id_annonce' AND ('$date_test' BETWEEN datedeb AND datefin)") or die ("erreur requete chch jour reserve");
        $contenu = mysql_fetch_array ($req);
		$etat = $contenu['etat'] ;
		echo $etat;
        if (!empty($contenu)) {
            $res[] = $jour;
        } 
        $jour++; 
        // on teste jusqu'à jour <= 31
    } 
    // si le tableau n'est pas vide il faudra le traiter
    if (!empty($res)) {
        $mois_in = "oui";
    } 
	else{
	$mois_in = "non";
	}
    // on commence la construction du tableau a afficher
    $leCalendrier = "";
    $leCalendrier .= "<div id=\"cadre_calendrier\">"; 
    // Tableau des valeurs possibles pour un numéro de jour dans la semaine
    $tableau = Array("0", "1", "2", "3", "4", "5", "6", "0"); 
    // calcul du nombre de jour dans le mois
    $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 au dessus du tableau
    $leCalendrier .= "\n\t<h3>&raquo; " . monthNumToName(getMonth($periode)) . " " . getYear($periode) . "</h3>"; 
    // Affichage des entêtes
    $leCalendrier .= "
          <ul id=\"libelle\">
               \t<li>L</li>
               \t<li>M</li>
               \t<li>M</li>
               \t<li>J</li>
               \t<li>V</li>
               \t<li>S</li>
               \t<li>D</li>
          </ul>"; 
    // 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 (puce ou nombre)
        if (Date("w", mktime(0, 0, 0, getMonth($periode), 1 + $pas, getYear($periode))) == $tableau[$indexe]) {
            $afficheJour = Date("j", mktime(0, 0, 0, getMonth($periode), 1 + $pas, getYear($periode))); 
            // c un jour de la semaine sans être aujourd'hui alors on test pour savoir s'il est réservé
            if ($mois_in == "oui") {
                // si $affichJour est dans le tableau des jours réservés alors on le met en rouge
                if (in_array ($afficheJour, $res)) {
					if ($etat == 1) { $class = " class=\"reserve\""; } else { $class = " class=\"lib\""; }
                    // la date du jour en bleu gras sur fond rouge
                    if (Date("Y-m-d", mktime(0, 0, 0, getMonth($periode), 1 + $pas, getYear($periode))) == Date("Y-m-d")) {
                        $class = " class=\"itemCurrentItem_in\"";
                    } 
                } else {
                    $class = ""; 
                    // si $affichJour n'est pas dans le tableau des jours réservés alors on ne le met pas en forme
                    // la date du jour en bleu gras sur fond blanc
                    if (Date("Y-m-d", mktime(0, 0, 0, getMonth($periode), 1 + $pas, getYear($periode))) == Date("Y-m-d")) {
                        $class = " class=\"itemCurrentItem_out\"";
                    } 
                } 
            } else {
                $class = ""; 
                // la date du jour en bleu gras sur fond blanc
                if (Date("Y-m-d", mktime(0, 0, 0, getMonth($periode), 1 + $pas, getYear($periode))) == Date("Y-m-d")) {
                    $class = " class=\"itemCurrentItem_out\"";
                } 
            } 
            // 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>\n"; 
    // Retour de la chaine contenant le Calendrier
    return $leCalendrier;
} 
 
?>
Le css :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
li.reserve {
	/* date réservé */
	background-color: #FF0000;
	color:#FFFFFF;
}
li.lib {
	/* date réservé */
	background-color: #00FF00;
	color:#FFFFFF;
}