Tableau PHP couleur alterné
Résolu
Mopire
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
mpmp93 Messages postés 6648 Date d'inscription Statut Membre Dernière intervention -
mpmp93 Messages postés 6648 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un tableau qui affiche ma base de donné, mais comment je peux l'arrange pour pour avoir des color alterné par ligne.
J'ai un tableau qui affiche ma base de donné, mais comment je peux l'arrange pour pour avoir des color alterné par ligne.
<? mysql_connect("", "", ""); mysql_select_db(""); $select = 'SELECT Nom_Entreprise,nom,prenom,Adresse_Email,Compte_Active FROM Comptes_Utilisateurs'; $result = mysql_query($select) or die ('Erreur : '.mysql_error() ); $total = mysql_num_rows($result); if($total) { // debut du tableau echo '<table bgcolor="#FFFFFF">'."\n"; // première ligne on affiche les titres prénom et surnom dans 2 colonnes echo '<tr>'; echo '<td bgcolor="#669999"><b><u>Nom Entreprise</u></b></td>'; echo '<td bgcolor="#669999"><b><u>Nom</u></b></td>'; echo '<td bgcolor="#669999"><b><u>Prenom</u></b></td>'; echo '<td bgcolor="#669999"><b><u>Emain</u></b></td>'; echo '<td bgcolor="#669999"><b><u>Prenom</u></b></td>'; echo '</tr>'."\n"; while($row = mysql_fetch_array($result)) { 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"; } echo '</table>'."\n"; } else echo 'Pas d\'enregistrements dans cette table...'; mysql_free_result($result); ?>
A voir également:
- Php bgcolor
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
6 réponses
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
$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"; }
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
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^^
Oui j'ai garder la première méthode celle de Zep3k!GnO
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+
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
ca dépend de la taille et de l'utilisation de l'appli^^