Changer background-color une ligne sur deux.

Résolu/Fermé
rolly41 Messages postés 242 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 18 septembre 2023 - 23 juin 2013 à 20:00
 Profil bloqué - 1 juil. 2013 à 17:44
Bonjour,

je propose à mes membres et à chaque visiteurs de voir la liste des membres actuelle de mon site, pour cela, j'utilise ce code :
<table border="1"" align="center" name="contenu"">
        <tr>
          <td width="250" align="center" class="contenu" style="background-color:#D5B9AE;">Membres</td>
          <td width="210" align="center" class="contenu" style="background-color:#D5B9AE;">Date et heure d'inscription</td>
          <td width="110" align="center" class="contenu" style="background-color:#D5B9AE;">Dernière connexion</td>
          <?php
            if ( $login != $invite )
              {
                echo '<td width="110" align="center" class="contenu" style="background-color:#D5B9AE;">Action</td>';
            }
          ?>
        </tr>
        <?php
          $req = mysql_query('SELECT id, pseudo, date, time, date_connexion FROM membre ORDER BY pseudo');
          while($data = mysql_fetch_array($req))
            {
            echo '<td align="center" class="contenu" style="background-color:#'; if ($data['id'] % 2 == 0){ echo 'd9dab8';} else {echo 'bfbd83;"';} echo';"><a href="profil.php?id='.$data['id'].'" style="text-decoration:none;color:#000099;"><u>'.html_entity_decode($data['pseudo'], ENT_QUOTES, 'UTF-8').'<u></a></td>'; 
            echo '<td align="center" class="contenu" style="background-color:#'; if ($data['id'] % 2 == 0){ echo 'd9dab8';} else {echo 'bfbd83;"';} echo';">Inscrit le '.html_entity_decode($data['date'], ENT_QUOTES, 'UTF-8').' à '.html_entity_decode($data['time'], ENT_QUOTES, 'UTF-8').'</td>';
            echo '<td align="center" class="contenu" style="background-color:#'; if ($data['id'] % 2 == 0){ echo 'd9dab8';} else {echo 'bfbd83;"';} echo';">'.html_entity_decode($data['date_connexion'], ENT_QUOTES, 'UTF-8').'</td>';
            if ( $login != $invite )
              {
              echo '<td align="center" class="contenu" style="background-color:#'; if ($data['id'] % 2 == 0){ echo 'd9dab8';} else {echo 'bfbd83;"';} echo';"><form method="POST" action="messagerie.php?msg=new"><input type="hidden" value="'.$data['pseudo'].'" name="destinataire" /><input style="background:url(images/mp.png) no-repeat;width:50px;height:15px;" type="submit" name="new" value="" border="0" /></form></td>';
            }
            echo '</tr>';
          }
        ?>        
      </table>


Problème : la ligne 1 et 2 on des ID impaire et on donc la même couleur de font. Je souhaite que la couleur de font change automatiquement à chaque ligne sans pour autant changer l'ordre d'affichage de la liste (et donc par ordre alphabétique des pseudo de membre).

Que puis-je faire pour cela ?

Merci d'avance pour votre aide
A voir également:

1 réponse

Profil bloqué
23 juin 2013 à 22:45
Tu peux éventuellement faire quelque chose du genre

pour i de 0 à nombre de lignes, faire
{
<ligne i couleur 1>
si ligne i+1 existe alors
{
<ligne i+1 couleur 2>
}
i=i+2;
}
0
rolly41 Messages postés 242 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 18 septembre 2023 1
1 juil. 2013 à 11:04
Heu ... j'ai rien compris ... il vient d'où le "i" ? (Débutant)
0
Profil bloqué
1 juil. 2013 à 17:44
i est une variable :

$i=0;
while($i<$nombredelignes)
{

...
$i=$i+2;
}
0