Bonjour
Tout d'abord j'espère être dans la bonne catégorie de forum, mais j'hésitais entre PHP et CSS ...
J'ai un problème incompréhensible, je ne vois pas pourquoi ça bug donc peut-être qu'à vous la solution vous sautera aux yeux !
Je crée un tableau pour faire un planning :
- colonne de gauche : le nom de chaque personne
- ligne en haut de tableau : les jours de la semaine
A chaque croisement "personne/jour", on a le nom d'un projet qui s'affiche.
Chaque projet a un statut : Prévu ou Confirmé.
Si le statut du projet est "Confirmé", alors on applique une classe spéciale : .confirme. Sinon la classe .projet.
Voici tout d'abord mon code :
- Page php :
Et mes trois classes CSS :
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 $reqtrav = mysql_query("SELECT P.id_projet,P.nom_projet FROM projet P JOIN travail T ON P.id_projet=T.id_projet WHERE T.login_personne='".$row['login_personne']."' AND T.date='".$day."' ORDER BY T.date ASC, P.nom_projet ASC;"); $nbtr = mysql_num_rows($reqtrav); // Si aucun projet, case vide if($nbtr == 0) echo '...'; // Sinon ajoute dans le tableau else { while($ligne = mysql_fetch_array($reqtrav)) { if($ligne['nom_projet'] == 'CONGES') echo '<td id="'.$day.'-'.$row['login_personne'].'" class="conges">'.$ligne['nom_projet'].'</td>'; else { $reqstatut = mysql_query("SELECT statut FROM travail WHERE id_projet='".$ligne['id_projet']."';") or die(mysql_error()); $stat = mysql_result($reqstatut,0); if ($stat == "Confirmé") echo '<td id="'.$day.'-'.$row['login_personne'].'" class="confirme">'.$ligne['nom_projet'].'</td>'; else echo '<td id="'.$day.'-'.$row['login_personne'].'" class="projet">'.$ligne['nom_projet'].'</td>'; } } }
Pour les cases "CONGES", la classe choisie s'applique correctement, de même que la classe 'projet'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 .conges { background-color: #F8D381; color: #DC7916; } .projet { padding: 5px; } .confirme { background-color: #33BA30; padding: 5px; }
Mon problème : la classe 'confirme' ne s'applique jamais !
J'ai regardé si ma variable $stat contenait bien 'Confirmé', aucun problème. J'ai essayé d'afficher toutes mes variables, elles sont toutes correctes.
Si j'attribue le background-color de .confirme à .projet, alors mes cases deviendront de cette couleur.
Mais la classe ".confirme" n'est jamais appliquée.
Est-ce que vous voyez une erreur quelque part que j'aurai manqué ?
Ca fait un moment que je suis dessus et que j'ai testé je crois, tout ce que je pouvais alors un peu d'aide me ferait bien plaisir x)
Merci !
Partager