Bonsoir,

j'espère que mon problème ne vient pas d'une erreur banale mais le voici: je récupère des données depuis ma bdd puis je les organise dans un tableau html, celui est correct, mais, par soucis de lisibilité, j'ai essayé de mettre en place une coloration des cellules du tableau suivant un ordre logique. Première ligne en vert, suivis de l'orange avant de revenir sur le vert, et par colonne, j'alterne la couleur (vert / vert pâle / vert / ...) mais voici ce que j'obtient:

Nom : Capture.JPG
Affichages : 3454
Taille : 198,7 Ko
(La première colonne qui n'apparaît pas complètement pour respecter l'anonymat des salariés mais elle n'est même pas colorée)

Il me semble flagrant que ce n'est pas le rendu que je souhaite

Voici le code correspondant:

Code php : 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
 
<table border="1" style="text-align: center;">
			<tr>
				<th> </th>
				<th colspan="2">Lundi</th>
				<th colspan="2">Mardi</th>
				<th colspan="2">Mercredi</th>
				<th colspan="2">Jeudi</th>
				<th colspan="2">Vendredi</th>
			</tr>
			<tr>
				<td> </td>
				<td>M</td>
				<td>A</td>
				<td>M</td>
				<td>A</td>
				<td>M</td>
				<td>A</td>
				<td>M</td>
				<td>A</td>
				<td>M</td>
				<td>A</td>
			</tr>
 
			<?php
			$numCouleur = 21; //Variable servant à la coloration du tableau: 11=vert, 12=vert pale, 21=orange pale, 22=orange
			$req2 = "SELECT DISTINCT planningChantier.numSalarie, nomSalarie, prenomSalarie FROM planningChantier, salarie WHERE planningChantier.numSalarie = salarie.numSalarie AND numSemaine = ".$semaine." ORDER BY nomSalarie, prenomSalarie ";
			try{
				$stmt2 = $pdo->prepare($req2);
				$stmt2->execute();
				while ($row2 = $stmt2->fetch(PDO::FETCH_ASSOC)) {
					//Gestion de la variable de coloration
					if ($numCouleur > 20) { //ou si c'est égale à 21 ou 22
						$numCouleur = $numCouleur - 10;
					} else if ($numCouleur < 20) { //donc 11 ou 12
						$numCouleur = $numCouleur + 10; 
					}
 
					echo "<tr>";
						echo "<td class='".$numCouleur."'> <input type='hidden' value='".$row2["numSalarie"]."'>".$row2["nomSalarie"]."  ".$row2["prenomSalarie"]; 
						echo "</td>";
						$req1 = "SELECT * FROM planningChantier, salarie, chantier, vehicule WHERE numSemaine =".$semaine." AND planningChantier.numSalarie = salarie.numSalarie AND planningChantier.numSalarie = ".$row2["numSalarie"]." AND planningChantier.numChantier = chantier.numChantier AND planningChantier.numVehicule = vehicule.numVehicule ORDER BY nomSalarie, prenomSalarie, dateJour, numCreneau";
						$stmt1 = $pdo->prepare($req1);
						$stmt1->execute();
						while ($row1 = $stmt1->fetch(PDO::FETCH_ASSOC)) {
							echo "<td class='c".$numCouleur."'>";
							echo "".$row1["nomChantier"]."<br>".$row1["nomVehiculeABRG"];
							echo "</td>";
							//Gestion de la variable de coloration
							if ($numCouleur = 11 or $numCouleur = 21) {
								$numCouleur = $numCouleur + 1;
							} else if ($numCouleur = 12 or $numCouleur = 22) {
								$numCouleur = $numCouleur - 1;
							}
						 } 
 
					echo "</tr>";
				}
			}
			catch(Exception $e){
				print "Erreur ! ".$e->getMessage(). "<br/>";
			}
			?>

Je me sert d'une variable pour attribuer la valeur de la classe. Je pense que la logique du code est correcte (ou ma logique est à revoir!) et j'arrive pas à déterminer l'origine du problème...
N'hésitez pas si il vous faut plus d'informations et merci d'avance de vos réponses!

Edit: voici mon code couleur:
11 => vert
12 => vert clair
21 => orange clair
22 => orange

Cordialement,
Skunka.