Tableau coloré une ligne sur deux

netsupra -  
 Zizou59 -
Bonjour,
Sur mon site internet, je souhaiterais afficher une liste de produit avec une ligne colorée sur deux. Après recherches, je ne sais pas coment faire (pour colorer une ligne sur deux).
Est il possible qu'au passage de la souris, cette ligne se colore de facon plus prononcée?

Merci,
netsupra
A voir également:

9 réponses

kilian Messages postés 8854 Statut Modérateur 1 526
 
Imagine que tu génères des lignes provenant d'un $tableau (la variable qui récupère les données Sql à mettre dans un tableau=.
Tu fais une boucle avec un compteur $i qui s'incrémente de 1 à chaque nouvelle ligne (donc à chaque nouvelle valeur sortie du $tableau).
$i sera donc le numero de la ligne du tableau.
Et bien arrange toi pour que si $i est impair la ligne soit jaune, et si $i est pair, la ligne soit rouge.

Pour ça utilises l'opérateur modulo %
Par exemple
1%2=1
2%2=0
3%2=1
Avec ça tu arrives à savoir si un nombre est pair ou impair.

C'est une idée comme une autre pour faire ça, je ne dis pas que c'est la meilleure solution .... mais là je vois rien d'autre.

Kilian, débutant en tâche de fond.....
10
kilian Messages postés 8854 Statut Modérateur 1 526
 
Salut,

Oui, il va falloir que tu apprennes la façon de fonctionner des feuilles de style Css si tu ne connais pas déjà. Tu définis deux classes différentes pour tes tableaux, et une ligne sur deux tu appliques telle ou telle classe à ton tableau.
Une intro au Css=> http://www.commentcamarche.net/css/cssintro.php3

Et pour ce qui est d'un changement de couleur au passage de la souris, je pense que tu peux régler ça en javascript avec l'évenement onMouseOver.
Si tu veux de bonnes bases de Javascript au cas où:
http://www.commentcamarche.net/javascript/jsintro.php3

Kilian, débutant en tâche de fond.....
5
Zizou59
 
Bonjour j'ai la solution pour toi PHP !!!

tu défini une class CSS :

// si ce sont des images 

// fond alternée #1 
$bg1 = 'img_1.png'; 
// fond alternée #2 
$bg2 = 'img_2.png'; 
// fond alternée #3 
$bg = '#000'; 

// si c'est simplement de la couleur 

// couleur alternée #1 
$bG1= '#CCC'; 
// couleur  alternée #2 
$bG2= '#FEF'; 
// couleur  alternée #3 
$bG = '#000';


// pour te donner un exemple ou va faire une variable $nom pour afficher

$nom=array("TOTO","TITI","TUTU","TYTY","TETE");


ensuite tu déclare la condition dans ta boucle (foreach/while/for) :

*ici dans le cas exemple çà seras une boucle for :

for($i=0;$i<$nom;$i++){ 

// la tu déclare la fonction de changement de couleur ( dans cette exemple j'ai choisi des couleurs) 

if ($bG == $bG1) { $bG = $bG2; }else{ $bG = $bG1; } 

echo '<div style="background-color:'.$bG.'">'.$nom[$i].'</div>'; 

}


Voilà en espérant que tu auras compris le principe ... :)
2
netsupra
 
killian,
décidement, tu es mon sauveur.
Pour le css j'ai déjà les bases mé je ne comprend pas ce que tu veux dire :
ce n'est pas le texte que je veux colorer mais la cellule du tableau...
Merci
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
netsupra
 
ok merci je vais essayer
1
netsupra
 
au fait, mon tableau est généré à partir d'une reponse à une requete mysql
0
kilian Messages postés 8854 Statut Modérateur 1 526
 
Oui, c'est bien ce que j'entendais.

Il suffit d'utiliser la propriété "background-color" pour td.

Un exemple avec une couleur utilisée sur ce site:
<table>
<tr>
         <td style="background-color:#8997D4">Ah! Une case bleue foncée, tirant sur le violet</td>
</tr>
</table>


Voilà, bon là j'insère le Css dans l'Html, mais ce sera bien plus pratique
avec des classes: ( http://www.commentcamarche.net/css/cssclass.php3 )

Kilian, débutant en tâche de fond.....
0
netsupra
 
Oui mais comment faire dans le code php pour qu'une seule ligne sur deux soit coloré
0
pc75 Messages postés 14 Statut Membre
 
Bonjour,

Tu peux aussi le faire comme ça :

DO while not eof
' Gestion de la couleur de la ligne
If Bln_Row_Color Then
Str_Row_Color = "#BAE2E3"
Else
Str_Row_Color = ""
End If
' Affectation du complément pour changer la couleur de la prochaine ligne
Bln_Row_Color = Not Bln_Row_Color
<tr BGCOLOR=Str_Row_Color>
<td>
</td>
</tr>

etc .....

-2