|
Forum |
|
Réagissez
dans les forums
de JDN Développeurs
|
Lors de l'affichage de données tabulaires de manière
dynamique, il est facile d'améliorer la lisibilité
du tableau créé en demandant à PHP d'alterner
les couleurs une ligne sur deux.
On utilise pour cela l'opérateur %
(appelé "modulo"), qui renvoi le reste d'une
division :
5 / 2 = 2.5
5 % 2 = 1
Avec cet opérateur, on peut savoir si un chiffre est
pair ou non (son reste est égal à 0) et donc,
en utilisant une variable que l'on incrémente au fur
et à mesure de la création du tableau, donner
une couleur aux cases paires, et une autre... aux autres.
Le
code
<?php
$gains = array(
'Janvier' => 51651,
'Février' => 651651,
'Mars' => 651651,
'Avril' => 65165,
'Mai' => 919851,
'Juin' => 12304,
'Juillet' => 56518,
'Août' => 7889,
'Septembre' => 189121,
'Octobre' => 15416,
'Novembre' => 156515,
'Décembre' => 65165
);
$i = 0;
echo "<table border='1'>";
echo "<caption>Nos gains sur l'année</caption>";
echo "<tr bgcolor='#cccccc'><th>Mois</th><th align='right'>Gain</th></tr>";
foreach ($gains as $mois => $gain)
{
if ($i % 2 == 0)
{
echo "<tr bgcolor='#dddddd'><td>$mois</td><td
align='right'>$gain</td></tr>";
}
else
{
echo "<tr bgcolor='#eeeeee'><td>$mois</td><td
align='right'>$gain</td></tr>";
}
$i++;
}
echo "</table>";
?>
on peut aussi simplifier la boucle foreach()
, en utilisant l'opérateur ternaire ?
:
foreach ($gains as $mois => $gain)
{
echo "<tr bgcolor='".( ($i++ % 2 == 0) ?
'#dddddd' : '#eeeeee' )."'><td>$mois</td><td
align='right'>$gain</td></tr>";
$i++;
}
(merci à nos lecteurs d'avoir insisté sur cette
simplification)
Nos gains sur l'année
Mois |
Gain |
Janvier |
51651 |
Février |
651651 |
Mars |
651651 |
Avril |
65165 |
Mai |
919851 |
Juin |
12304 |
Juillet |
56518 |
Août |
7889 |
Septembre |
189121 |
Octobre |
15416 |
Novembre |
156515 |
Décembre |
65165 |
|