Tableau coloré une ligne sur deux [Fermé]

Signaler
-
 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

9 réponses

Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 516
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 516
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.....
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 ... :)
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
ok merci je vais essayer
au fait, mon tableau est généré à partir d'une reponse à une requete mysql
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 516
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.....
Oui mais comment faire dans le code php pour qu'une seule ligne sur deux soit coloré
Messages postés
12
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
9 juillet 2007

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 .....