Faire alterner 2 couleurs dans un row tableau

Laure87
Invité n'ayant pas de compte PHPfrance

09 juin 2006, 00:32

Bonjour

Voici mon bout de code :
	$db=mysql_query("SELECT id,nom,date,message FROM livredor ORDER BY id DESC LIMIT {$_GET['p']},15");
	$idd=$nb-$_GET['p'];
	while ($c=mysql_fetch_array($db)) {
?>
								<li class="guest">#<b><?=$idd-- . "</b> - Ecrit par <u>{$c['nom']}</u> le " . @fc(fDate,$c['date']);  ?></li>
								<li class="text"><?=@fc(fPostrev,$c['message'])?></li>
<?
	}
Il y a des CSS et je voudrai que les reponse du livre d'or soir afficher avec une alternance dans le tabeau ... jai fait des recherche sur le net je comprend le principe mais je narrive pas a faire ceci ... qlq peu t'il m'aider ?

Merci

Mammouth du PHP | 19672 Messages

09 juin 2006, 07:49

Utilise un "modulo" : juste avant ta boucle, crée un pointeur. En début de boucle, vérifie s'il est pair ou impair et définis le style approprié en fonction, et en fin de boucle, incrémente ton pointeur :
$i = 0;
while($condition == "vraie")
{
    $style = ($i % 2 == 0) ? "guest" : "text";
    //... reste des instruction...
    $i++;
}
Une petite recherche avec "modulo" dans les archives du forum te montrera pas mal d'exemples.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Laure87
Invité n'ayant pas de compte PHPfrance

09 juin 2006, 08:32

Je n'est pas compris et j'ai regardé en fonction des autre reponse en faisant al recherche ...

avec les class je comprend pas ....

Eléphant du PHP | 441 Messages

09 juin 2006, 09:27

Je n'est pas compris et j'ai regardé en fonction des autre reponse en faisant al recherche ...

avec les class je comprend pas ....
Bah les class concerne le CSS donc la mise en forme de ton tableau.
Exemple:
Le code PHP
for ($i=0; $i < 10 ; $i++) {

	if ($i % 2 == 0) // Modulo
		echo '<tr class="stylePair"><td>Donnee</td></tr>';//Lignes paires
	else
		echo '<tr class="styleImpair"><td>Donnee</td></tr>';//Lignes impaires
}

Tu peux même optimier ce bout de code.
Puis dans ta CSS:
.stylePair {
//couleur pour les lignes paires
backgound-color: #ff0000;
}
.styleImpair {
//couleur pour les lignes impaires
backgound-color: #ff00ff;
}
Modifié en dernier par starkeus le 09 juin 2006, 09:28, modifié 1 fois.
Futures Stars par ici >> www.apel-doorn.com
fan d'info et du ... PSG !! :D
Apprendre, comprendre et maîtriser telle est ma devise!
Fan inconditionnel de netvibes

Mammouth du PHP | 1353 Messages

09 juin 2006, 09:28

Les classes sont définies dans ton css et vont donner a chaque ligne une couleur de fond différente par exemple. Je reprend l exemple de Cyrano :
<table>
<?php
while($condition == "vraie") 
{
    $style = ($i % 2 == 0) ? "guest" : "text"; ?>
    <tr class="<?php echo $style?>">
    <td>....</td>
    </tr><?php
    $i++; 
} ?>
</table>
Si dans ton CSS tu as deux classe, guest et text définies par exemple :

Code : Tout sélectionner

.guest{ background-color : #B4C1D3; } .text{ background-color : #D7DDE6; }
Alors les lignes de ton tableau seront alternées au niveau de la couleur de fond.[/b]

EDIT: Ah j ai été devancé :?

Laure87
Invité n'ayant pas de compte PHPfrance

09 juin 2006, 10:37

Merci je suis au travail je teste des que je recuepere mon pc mais je pense que je devrai i arrivé vous avez bien expliqué.

:D