Modifier les couleurs d'une ligne d'un enregistrement

Résolu
jus2mandarine Messages postés 258 Statut Membre -  
jus2mandarine Messages postés 258 Statut Membre -
Bonjour,

Pouvez-vous m'aider à modifier le contenu d'une ligne d'un enregistrement en fonction de son contenu? Je m'explique !
Dans la boîte de réception Gmail par exemple, les lignes correspondants aux messages lus et aux messages non lus ont des couleurs différentes. Comment faut-il procéder pour que l'affichage de ces lignes soit de couleur différente?

Merci de votre aide !
A voir également:

1 réponse

Pitet Messages postés 2845 Statut Membre 527
 
Salut,

La solution simple pour modifier la couleurs d'une ligne html est d'appliquer une classe css spécifique sur ces lignes. Il suffira alors de définir la couleur de la ligne en css via la propriété background-color sur cette classe spécifique.

Comment sont affichées tes lignes dans ton document html ?
Si les lignes sont générées via PHP, on peut alors effectuer pour chaque ligne une vérification du contenu de celle-ci et appliquer la classe spécifique en conséquence.
Si tu veux plus de détails, peux tu nous montrer le code qui génère ta liste et définir selon quel contenu la ligne serait affichée en couleur ?

Bonne journée,
0
jus2mandarine Messages postés 258 Statut Membre 1
 
J'utilise PHP !

Le code est le suivant :

<?php do { ?><tr align="left">

<td height="48" align="center"><span class="Style74"><?php echo $row_RsSelectResultat['NumDotation']; ?></span></td>
<td height="48" align="center"><span class="Style72"><?php echo $row_RsSelectResultat['NomAgent']; ?></span></td>
<td align="center"><span class="Style74"><?php echo $row_RsSelectResultat['NumOrdinateur']; ?></span></td>
<td align="center"><span class="Style74"><?php echo $row_RsSelectResultat['NomOrdinateur']; ?></span></td>
<td><span class="Style74"><?php echo $row_RsSelectResultat['Marque']; ?></span></td>
<td align="center"><span class="Style74"><?php echo $row_RsSelectResultat['Modèle']; ?></span></td>
<td align="center"><span class="Style74"><?php echo $row_RsSelectResultat['Jour']; ?></span></td>
</tr>

<?php } while ($row_RsSelectResultat = mysql_fetch_assoc($RsSelectResultat)); ?>
0
Pitet Messages postés 2845 Statut Membre 527
 
Parfait, on peux donc appliquer la solution proposée :
<?php do { 
	if (condition) {
		$classLigne = 'couleur1';
	} else {
		$classLigne = '';
	}
?>
	<tr align="left"<?php echo $classLigne ? ' class="' . $classLigne . '"' : ''; ?>>
		<td height="48" align="center"><span class="Style74"><?php echo $row_RsSelectResultat['NumDotation']; ?></span></td>
		<td height="48" align="center"><span class="Style72"><?php echo $row_RsSelectResultat['NomAgent']; ?></span></td>
		<td align="center"><span class="Style74"><?php echo $row_RsSelectResultat['NumOrdinateur']; ?></span></td>
		<td align="center"><span class="Style74"><?php echo $row_RsSelectResultat['NomOrdinateur']; ?></span></td>
		<td><span class="Style74"><?php echo $row_RsSelectResultat['Marque']; ?></span></td>
		<td align="center"><span class="Style74"><?php echo $row_RsSelectResultat['Modèle']; ?></span></td>
		<td align="center"><span class="Style74"><?php echo $row_RsSelectResultat['Jour']; ?></span></td>
	</tr>
<?php } while ($row_RsSelectResultat = mysql_fetch_assoc($RsSelectResultat)); ?>


A chaque tour de boucle, on crée une variable $classLigne qu'on rempli avec le nom de la classe spécifique si notre condition est validée.
On affiche ensuite cette classe sur la balise tr de tableau si la classe est définie (donc toujours si la condition est validée).

Il faut alors ajouter un peu de css pour modifier la couleur des cellules du tableau en fonction de cette classe :
.couleur1 td {
    background-color: red;
}


Pour faire marcher ce code, tu dois remplacer le mot "condition" dans le if par ta propre condition d'affichage de couleur de la ligne, par exemple :
if ($row_RsSelectResultat['NomAgent'] == 'Toto') {
0
jordane45 Messages postés 40050 Statut Modérateur 4 756 > Pitet Messages postés 2845 Statut Membre
 
Bonjour,
En complément ...
Sachant qu'un IF peut être écrit en utilisan t'écriture ternaire
Ce if :
if (condition) {
   $classLigne = 'couleur1';
} else {
   $classLigne = '';
}


Devient plus simplement :
//variable = (condition) ? valeur si vrai : valeur si faux ;
$classLigne = condition  ?  'couleur1' : '' ;
0
jus2mandarine Messages postés 258 Statut Membre 1 > Pitet Messages postés 2845 Statut Membre
 
Merci ! Je fais des tests pour vérifier...
0