alterance couleur sur tableau dynamique

Eléphant du PHP | 119 Messages

19 sept. 2011, 14:31

bonjour, j'essaie de faire en sorte que les ligne de mon tableau est une couleur alterné mais mon code ne fonctionne pas et je ne voit pas pourquoi.
<?php
$table = array(array(1,2,3,4,5,6,7,8,9,10,11)); //Tableau de resultats

$i = 0;

echo '<table width="700" border="0">'; //Création du tableau

foreach($table as $donnees) {

	echo '<tr class="prem" bgcolor="'.( ($i++ % 2 == 0) ? '#dddddd' : '#eeeeee' ).'">'; //Création d'une nouvelle ligne
	echo '<td  width="120px">'.$projet.'</td>'; //Création d'une nouvelle colonne
	echo '<td  width="156px">'.$date.'</td>'; //Création d'une nouvelle colonne
	echo '<td  width="118px">'.$etat.'</td>'; //Création d'une nouvelle colonne
	echo '<td  width="168px" style="color:red;">'.$numero_projet.'</td>'; //Création d'une nouvelle colonne
	echo '<td  width="122px"><input type="checkbox" name="mel[]" id="mel">&nbsp;&nbsp;<input type="checkbox" name="mel[]" id="mel" checked="checked"><br/><font-size="1">on&nbsp;&nbsp;off</font></td>'; //Création d'une nouvelle colonne
	echo '</tr>'; //Fin de la ligne
$i++;
	}
	
echo '</table>'; //Fermeture du tableau


?>

Mammouth du PHP | 672 Messages

19 sept. 2011, 14:57

Bonjour.
bonjour, j'essaie de faire en sorte que les ligne de mon tableau est une couleur alterné mais mon code ne fonctionne pas et je ne voit pas pourquoi.
C'est un peu court...
- Il plante ? Messages d'erreur ?
- Il fonctionne mais ne produit pas le résultat attendu ?
- Page blanche ?
- Autre (préciser) ?
Vu que tu utilises la variable $i pour décider de la couleur du fond, tu peux déjà commencer par l'afficher en rajoutant une colonne (par exemple)...

Sinon :
- Le temps de débugger, je te conseille de mettre des couleurs plus marquées.
- Vu que tu utilises des classes, tu devrais en profiter pour déporter la couleur de fonds dans le CSS en créant deux classes (impair/pair).
Au lieu de changer l'affichage du bgcolor, il te suffit de modifier le nom de ta classe...

Eléphant du PHP | 119 Messages

19 sept. 2011, 15:09

non rien ne plante le tableau est bien present mais la couleur est unie, je sait que j'ai fais une erreur le fait d'incrementer deux fois le i, j'ai modifié comme ca mais c'est pareil toujour une couleur.
<?php
$table = array(array(1,2,3,4,5,6,7,8,9,10,11)); //Tableau de resultats

$i = 0;

echo '<table width="700" border="0">'; //Création du tableau

foreach($table as $donnees =>$table) {
	echo '<tr class="prem" bgcolor="'.( ($i % 2 == 0) ? '#dddddd' : '#eeeeee' ).'">';	//Création d'une nouvelle ligne
	echo '<td  width="120px">'.$projet.'</td>'; //Création d'une nouvelle colonne
	echo '<td  width="156px">'.$date.'</td>'; //Création d'une nouvelle colonne
	echo '<td  width="118px">'.$etat.'</td>'; //Création d'une nouvelle colonne
	echo '<td  width="168px" style="color:red;">'.$numero_projet.'</td>'; //Création d'une nouvelle colonne
	echo '<td  width="122px"><input type="checkbox" name="mel[]" id="mel">&nbsp;&nbsp;<input type="checkbox" name="mel[]" id="mel" checked="checked"><br/><font-size="1">on&nbsp;&nbsp;off</font></td>'; //Création d'une nouvelle colonne
	echo '</tr>'; //Fin de la ligne
    $i++;
	}
	
echo '</table>'; //Fermeture du tableau


?>

Mammouth du PHP | 672 Messages

19 sept. 2011, 15:20

Tu as essayé d'afficher $i ?
Tu as bien le bon nombre de colonnes ?

Eléphant du PHP | 119 Messages

19 sept. 2011, 15:52

en faite j'avais une erreur sur la creation de mon tableau, j'ai modifié et tout roule, merci.
<?php
for ($i=0;$i<1;$i++)
{

    echo '<table width="700" border="0">'; //Création du tableau
	echo '<tr bgcolor="'.( ($i % 2 == 0) ? '#dddddd' : '#eeeeee' ).'">';
	echo '<td width="120px">'.$projet.'</td>'; //Création d'une nouvelle colonne
	echo '<td width="156px">'.$date.'</td>'; //Création d'une nouvelle colonne
	echo '<td width="118px">'.$etat.'</td>'; //Création d'une nouvelle colonne
	echo '<td width="168px" style="color:red;">'.$numero_projet.'</td>'; //Création d'une nouvelle colonne
	echo '<td width="122px"><input type="checkbox" name="mel[]" id="mel">&nbsp;&nbsp;<input type="checkbox" name="mel[]" id="mel" checked="checked"><br/><font-size="1">on&nbsp;&nbsp;off</font></td>'; //Création d'une nouvelle colonne
	echo '</tr>'; //Fin de la ligne

	}
	
echo '</table>'; //Fermeture du tableau


?>

Eléphant du PHP | 60 Messages

19 sept. 2011, 16:55

Bonjour,

si tout roule pour toi, merci de marquer le sujet comme résolu.
"La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information"
Albert Einstein.