Tableau PHP couleur alterné
Résolu/Fermé
Mopire
Messages postés
23
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
6 juin 2011
-
13 mai 2011 à 10:31
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 - 13 mai 2011 à 15:22
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 - 13 mai 2011 à 15:22
A voir également:
- Php bgcolor
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Href php ✓ - Forum PHP
- Bouton php - Forum PHP
- Echo image php ✓ - Forum PHP
6 réponses
Gremy87
Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
13 mai 2011 à 10:43
13 mai 2011 à 10:43
Bonjour,
vive les booléens!!
un joli petit booléén
voila, a chaque tour de boucle le bool prend la valeur qui lui est opposée donc de vrai a faux et inversement et si il est vrai tu met une couleur si il est faux, une autre
vive les booléens!!
un joli petit booléén
$bool=false; while($row = mysql_fetch_array($result)) { if(bool) { echo '<tr>'; echo '<td bgcolor="#CCCCCC">'.$row["Nom_Entreprise"].'</td>'; echo '<td bgcolor="#CCCCCC">'.$row["nom"].'</td>'; echo '<td bgcolor="#CCCCCC">'.$row["prenom"].'</td>'; echo '<td bgcolor="#CCCCCC">'.$row["Adresse_Email"].'</td>'; echo '<td bgcolor="#CCCCCC">'.$row["Compte_Active"].'</td>'; echo '</tr>'."\n"; } else { echo '<tr>'; echo '<td bgcolor="#00FF00">'.$row["Nom_Entreprise"].'</td>'; echo '<td bgcolor="#00FF00">'.$row["nom"].'</td>'; echo '<td bgcolor="#00FF00">'.$row["prenom"].'</td>'; echo '<td bgcolor="#00FF00">'.$row["Adresse_Email"].'</td>'; echo '<td bgcolor="#00FF00">'.$row["Compte_Active"].'</td>'; echo '</tr>'."\n"; } $bool=!$bool; }
voila, a chaque tour de boucle le bool prend la valeur qui lui est opposée donc de vrai a faux et inversement et si il est vrai tu met une couleur si il est faux, une autre
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
13 mai 2011 à 10:45
13 mai 2011 à 10:45
$sColor1 = "#CCCCCC"; $sColor2 = "#00FF00"; $bColor = true; while($row = mysql_fetch_array($result)) { if($bColor){ $bColor = false; $sColor = $sColor1; }else{ $bColor = true; $sColor = $sColor2; } echo '<tr>'; echo '<td bgcolor="'.$sColor.'">'.$row["Nom_Entreprise"].'</td>'; echo '<td bgcolor="'.$sColor.'">'.$row["nom"].'</td>'; echo '<td bgcolor="'.$sColor.'">'.$row["prenom"].'</td>'; echo '<td bgcolor="'.$sColor.'">'.$row["Adresse_Email"].'</td>'; echo '<td bgcolor="'.$sColor.'">'.$row["Compte_Active"].'</td>'; echo '</tr>'."\n"; }
Mopire
Messages postés
23
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
6 juin 2011
13 mai 2011 à 11:24
13 mai 2011 à 11:24
Merci a tous vos code marche très bien.
mpmp93
Messages postés
6652
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 339
13 mai 2011 à 12:59
13 mai 2011 à 12:59
Bonjour,
Il y a deux autres moyens ne faisant pas appel à PHP:
https://html5.immo-scope.com/article/html5_table_colorerUneLigneSurDeux
La première fait appel à du css
la seconde fait appel à un petit script javascript exploitant les fonctions de JQuery
A+
Il y a deux autres moyens ne faisant pas appel à PHP:
https://html5.immo-scope.com/article/html5_table_colorerUneLigneSurDeux
La première fait appel à du css
la seconde fait appel à un petit script javascript exploitant les fonctions de JQuery
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Gremy87
Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
13 mai 2011 à 14:04
13 mai 2011 à 14:04
ouai enfin le css pose des problèmes de compatibilité de navigateur et le JS est désactivable (et pas forcement justifié ici)
je préfère le php^^
je préfère le php^^
Mopire
Messages postés
23
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
6 juin 2011
13 mai 2011 à 14:32
13 mai 2011 à 14:32
Oui j'ai garder la première méthode celle de Zep3k!GnO
mpmp93
Messages postés
6652
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 339
Modifié par mpmp93 le 13/05/2011 à 15:23
Modifié par mpmp93 le 13/05/2011 à 15:23
Alors voici une manière de coder HTML/PHP qui mutualise la coloration au niveau de TR et non au niveau de TD. remarquez que j'ai mis en commentaire le code SQL à mettre après SELECT qui garantit de sortir les n champs à afficher. Si vous voulez modifier l'ordre des champs ou changer le nombre de champs, il suffit de toucher aux champs de SELECT, le code HTML restera inchangé:
A+
<?php /** * Il faut mettre en SELECT la liste des champs dans l'ordre dans lequel on va les afficher: * SELECT Nom_Entreprise, nom, prenom, Adresse_email, Compte_Active FROM ..... */ $sColor1 = "#CCCCCC"; $sColor2 = "#00FF00"; $bColor = true; ?> <table> <thead> <tr> <td>.....</td> <!-- ici les autres en-têtes de colonne --> </tr> </thead> <tbody> <?php while($row = mysql_fetch_array($result)): ?> <?php $bColor=!$bColor; $sColor = $sColor1; if ($bColor) { $sColor = $sColor1; } ?> <tr style="background-color: <?php echo $sColor; ?>"> <?php foreach($row AS $key => $val): ?> <td><?php echo $val; ?></td> <?php endforeach; ?> </tr> <?php endwhile; ?> </tbody> </table>
A+
13 mai 2011 à 10:53
Cette méthode marche, bien sûr, mais est à éviter sur le long terme (duplication de code == maintenance complexe).
La solution donnée par Zep3k!GnO est plus adaptée :)
Xavier
13 mai 2011 à 11:06
ca dépend de la taille et de l'utilisation de l'appli^^
13 mai 2011 à 11:50