Page 1 sur 1

Faire alterner 2 couleurs dans un row tableau

Posté : 09 juin 2006, 00:32
par Laure87
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

Posté : 09 juin 2006, 07:49
par Cyrano
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.

je ne comprend pas

Posté : 09 juin 2006, 08:32
par Laure87
Je n'est pas compris et j'ai regardé en fonction des autre reponse en faisant al recherche ...

avec les class je comprend pas ....

Re: je ne comprend pas

Posté : 09 juin 2006, 09:27
par starkeus
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;
}

Posté : 09 juin 2006, 09:28
par guilt92
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é :?

Merci

Posté : 09 juin 2006, 10:37
par Laure87
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