Tableau coloré une ligne sur deux

Fermé
netsupra - 8 nov. 2004 à 22:56
 Zizou59 - 6 déc. 2010 à 14:39
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 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
9 nov. 2004 à 00:03
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 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
8 nov. 2004 à 23:40
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
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
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
ok merci je vais essayer
1
au fait, mon tableau est généré à partir d'une reponse à une requete mysql
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
8 nov. 2004 à 23:54
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
Oui mais comment faire dans le code php pour qu'une seule ligne sur deux soit coloré
0
pc75 Messages postés 12 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 9 juillet 2007
9 nov. 2004 à 10:36
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