Alterner couleur des lignes d'un tableau

Mammouth du PHP | 536 Messages

19 juil. 2007, 13:45

Bonjour,

j'ai trouvé ce code
bgcolor='".( ($i++ % 2 == 0) ? '#FFFFFF' : '#EEEEEE' )."'
a mettre dans ma balise <tr> de mon tableau afin d'alterner les couleurs des différentes lignes du tableau.
Ce code est placé dans une boucle foreach.
Il marche très bien mais quelqu'un pourrait-il me l'expliquer car ca me dérange un peu de mettre un petit bout de code que je ne comprends pas.

Merci beaucoup.
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

d0m
Mammouth du PHP | 1141 Messages

19 juil. 2007, 13:58

le but du jeu est d'alterner les couleurs donc donner une couleur aux lignes paires et une autre aux lignes impaires.

$i est le compteur de lignes.
bgcolor='".( ($i++ % 2 == 0) ? '#FFFFFF' : '#EEEEEE' )."'
cette ligne est équivalente à
if($i++ % 2 == 0)//la ligne est paire
   bgcolor='#FFFFFF';//on donne la couleur 1
else//la ligne est impaire
   bgcolor='#EEEEEE';//on donne la couleur 2

Mammouth du PHP | 536 Messages

19 juil. 2007, 14:12

ok d'accord, donc les : correspondent au else et ce qui suit le ? correspond a ce qu'on fait si la condition est vrai. ? c'est ça ?
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Eléphanteau du PHP | 48 Messages

19 juil. 2007, 14:16


ViPHP
ViPHP | 928 Messages

19 juil. 2007, 14:18

C'est l'opérateur ternaire, un raccourcit. Mais ne l'utilise pas si tu n'en as pas besoin.

PS : tu as oublié les $ devant tes variables.

d0m
Mammouth du PHP | 1141 Messages

19 juil. 2007, 14:18


ViPHP
ViPHP | 5924 Messages

19 juil. 2007, 14:18

$i++ c'est la postincrémentation : http://www.php.net/manual/fr/language.o ... rement.php
condition ? vrai : faux , c'est l'opérateur ternaire : http://www.php.net/manual/fr/language.o ... on.ternary
%, c'est l'opérateur modulo : http://www.php.net/manual/fr/language.o ... hmetic.php

Mammouth du PHP | 536 Messages

19 juil. 2007, 14:27

Ok, merci tout le monde.
@ Genova -> non je n'ai pas oublié les $ puisqu'il s'agit du bgcolor de ma balise <tr>
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!