Changement de couleur
Résolu/Fermé
A voir également:
- Changement de couleur
- Piratage facebook changer mot de passe - Guide
- Somme si couleur - Guide
- Changer la couleur de la barre des taches - Guide
- Changement d'écriture - Guide
- Excel couleur conditionnelle - Guide
4 réponses
vincebzh
Messages postés
137
Date d'inscription
lundi 22 mars 2010
Statut
Contributeur
Dernière intervention
7 mai 2013
29
Modifié par vincebzh le 13/01/2012 à 22:23
Modifié par vincebzh le 13/01/2012 à 22:23
Salut.
Essaye avec ça :
En gros, tu places une variable $i (ou autre) qui te serviras de compteur. A chaque tour de boucle, tu incrémentes la variable de 1 ( $i++ ).
Ensuite, tu vérifie que le compteur est paire ou pas.
Pour ça, tu peux utiliser le modulo ( % ), qui permet de récupérer le reste d'une division. Si $i % 2 donne 0, c'est que la ligne est paire.
( https://www.php.net/manual/fr/language.operators.arithmetic.php )
Suivant ce que retourne le modulo, tu appliques la classe "even" ou "odd" à la ligne à passer en couleur.
Après, il ne reste plus qu'à appliquer un peu de CSS sur les classes.
Sinon, il y a une méthode beaucoup plus simple, c'est d'utiliser le pseudo sélecteur css3 :nth-child.
( http://www.w3.org/Style/Examples/007/evenodd )
Le seul problème, c'est que ce sélecteur n'est pas reconnu par les anciens navigateurs ( IE < 9 par exemple ).
En espérant avoir pu t'éclairer un peu.
Essaye avec ça :
<style type="text/css"> .even { background: white; } .odd { background: green; } </style> <?php $sql = "SELECT ville,DATE_FORMAT(date, '%d-%m-%Y') as datefr,nom,descriptif,adresse,code_postal,heure,contact FROM T_evenement WHERE ville = '" . $ville . "' AND date >= CURDATE() ORDER BY date ASC"; $query = mysql_query($sql) or die('Erreur'); $result = mysql_query($query); $i = 0; // Recuperation des resultats while ($list = mysql_fetch_array($query)) { $Ville = $list[0]; $Datefr = $list[1]; $Nom = $list[2]; $Descriptif = $list[3]; $Adresse = $list[4]; $Code_postal = $list[5]; $Heure = $list[6]; $Contact = $list[7]; echo "<tr class='" . ( ($i % 2 == 0) ? 'even' : 'odd' ) . "'>\n <td align=\"center\">$Datefr</td>\n <td align=\"center\">$Nom</a></td>\n <td>$Descriptif</td>\n <td>$Adresse</a></td>\n <td align=\"center\">$Code_postal</td>\n <td align=\"center\">$Ville</td>\n <td align=\"center\">$Heure</td>\n <td>$Contact</td>\n </tr>\n"; $i++; } ?>
En gros, tu places une variable $i (ou autre) qui te serviras de compteur. A chaque tour de boucle, tu incrémentes la variable de 1 ( $i++ ).
Ensuite, tu vérifie que le compteur est paire ou pas.
Pour ça, tu peux utiliser le modulo ( % ), qui permet de récupérer le reste d'une division. Si $i % 2 donne 0, c'est que la ligne est paire.
( https://www.php.net/manual/fr/language.operators.arithmetic.php )
Suivant ce que retourne le modulo, tu appliques la classe "even" ou "odd" à la ligne à passer en couleur.
Après, il ne reste plus qu'à appliquer un peu de CSS sur les classes.
Sinon, il y a une méthode beaucoup plus simple, c'est d'utiliser le pseudo sélecteur css3 :nth-child.
( http://www.w3.org/Style/Examples/007/evenodd )
<style type="type/css"> tr:nth-child(even) {background: white;} tr:nth-child(odd) {background: green;} </style>
Le seul problème, c'est que ce sélecteur n'est pas reconnu par les anciens navigateurs ( IE < 9 par exemple ).
En espérant avoir pu t'éclairer un peu.
Bonsoir vincebzh
Merci beaucoup pour ton code et surtout tes explication, cela marche nikel.
bonne soirée.
Merci beaucoup pour ton code et surtout tes explication, cela marche nikel.
bonne soirée.
vincebzh
Messages postés
137
Date d'inscription
lundi 22 mars 2010
Statut
Contributeur
Dernière intervention
7 mai 2013
29
13 janv. 2012 à 22:19
13 janv. 2012 à 22:19
De rien. Bonne soirée.
Bonjour vincebzh
Je me permet de reposer une petite question car sur mon site j'ai un formulaire afin de rentrer une date (qu'on retrouve dans le résultat de ma requete cf : code du dessus) et dans mon formulaire je suis obligé de l'écrire en date anglaise et cela n'est pas pratique du tout.
Comment puis je faire pour l'avoir en fr?
par avance merci
Je me permet de reposer une petite question car sur mon site j'ai un formulaire afin de rentrer une date (qu'on retrouve dans le résultat de ma requete cf : code du dessus) et dans mon formulaire je suis obligé de l'écrire en date anglaise et cela n'est pas pratique du tout.
Comment puis je faire pour l'avoir en fr?
par avance merci