Mettre en couleur une ligne sur deux dans un tableau;

Mettre en couleur une ligne sur deux dans un tableau; - PHP - Programmation

Marsh Posté le 11-02-2005 à 19:30:28    

Bonjour à tous, je souhaite afficher un tableau qui comporte une case sur deux avec un léger gris.
 
Ce code ne marche pas. Pouvez vous m'aider. Merci
 

 while ($row = mysql_fetch_array($reponse))
     {
            $i++;
 
            //Gestion de la couleur alternative des lignes
            if ($i%2 == 0)
            {
              echo  "<tr><td>";
            }
            else      //$i%2 == 0
            {
              echo " <tr bgcolor=\"#EBEBEB\"><td>";
            }


Message édité par jijiz le 11-02-2005 à 19:35:35
Reply

Marsh Posté le 11-02-2005 à 19:30:28   

Reply

Marsh Posté le 11-02-2005 à 19:33:41    

heu, c'est du java, du php, de l'asp, du perl, du C, du C++, autre chôse?
Entre nous, t'es pas dans la bonne section, par contre, si tu veux mettre deux couleurs différentes, il vaudrait mieux que la couleur du "else" ne soit pas celle du "if".

Reply

Marsh Posté le 11-02-2005 à 19:36:07    

Oui je me suis trompé, c'était pour tester que j'ai tout mis en gris (ca ne marche pas qd mm).
J'ai édité la sous cat.
Merci
 
sinon: ca marche tjrs pas

Reply

Marsh Posté le 11-02-2005 à 19:40:54    

Il faudrait voir le code html généré par ton code.
Sinon, petit idée, ta page html, elle utilise un css? Si dans le css une couleur est déterminé pour les balises de type "<td>" c'est celle là qui prime.
Je me rapelles plus s'il est possible de définir une couleur de fond au niveau du "<table>". Ca pourait peut être joué également.

Reply

Marsh Posté le 11-02-2005 à 19:46:43    

Exact; ca doit venir de mon css qui prends le dessus.
 
Existe t il une solution?


Message édité par jijiz le 11-02-2005 à 19:47:30
Reply

Marsh Posté le 11-02-2005 à 19:56:06    

plusieur classes dans le css

Code :
  1. $classes= array("c1","c2","c3" );
  2. $lc = count($classes);
  3. for($i=0;<cond>;$i++)
  4. {
  5.    echo "<td class='";
  6.    echo $classes[$i%$lc];
  7.    echo "'>";
  8. //blah
  9.    echo "</td>";
  10. }


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 11-02-2005 à 19:59:23    

Merci pour ton aide, mais peux tu détailler un peu la technique car là j'ai du mal a comprendre le array et pourquoi fair une boucle?
 

Reply

Marsh Posté le 11-02-2005 à 20:06:13    

Ce qu'il fait c'est de créer un tableau contenant les classes à utiliser, c'est le fameux array.
Il a utilisé une boucle for pour faire plus simple, mais ca correspond à ta boucle while.
$classes[$i%$lc] permet de choisir la classe à utiliser pour la ligne en question. Le %$lc, c'est pour ne pas avoir besoin de modifier une valeur dans la boucle si on rajoute une classe (pour faire un tableau à 2,3,4 ou 5 couleurs ;) )
 
Dans l'exemple qu'il te donne, il faut mettre un "td.c1" , un "td.c2" et un "td.c3" dans le css. "td.c1" se traduit par : classe c1 de l'élément td. Ca agira uniquement sur les td de la classe c1 et pas sur les autres. Evidement, on ne met pas les ". :)
 
Son exemple est fait de maniére à être le plus générique possible. ;)


Message édité par omega2 le 11-02-2005 à 20:07:11
Reply

Marsh Posté le 11-02-2005 à 20:09:43    

bha voila :jap:


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 11-02-2005 à 20:16:29    

Merci bcp a vous deux ! je vais mettre ceci en pratique.

Reply

Marsh Posté le 11-02-2005 à 20:16:29   

Reply

Marsh Posté le 12-02-2005 à 11:17:39    

jijiz a écrit :

Bonjour à tous, je souhaite afficher un tableau qui comporte une case sur deux avec un léger gris.
 
Ce code ne marche pas. Pouvez vous m'aider. Merci
 

 while ($row = mysql_fetch_array($reponse))
     {
            $i++;
 
            //Gestion de la couleur alternative des lignes
            if ($i%2 == 0)
            {
              echo  "<tr><td>";
            }
            else      //$i%2 == 0
            {
              echo " <tr bgcolor=\"#EBEBEB\"><td>";
            }



 
tu aurais regardé cela un peut tu aurai sun bout de réponse ! [RECHERCHE] bordel :fou:
http://forum.hardware.fr/forum2.ph [...] subcat=393


Message édité par Berceker United le 12-02-2005 à 11:17:53
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed