[php] changement de couleur 1 ligne sur 2 ds un tableau

changement de couleur 1 ligne sur 2 ds un tableau [php] - Programmation

Marsh Posté le 31-07-2001 à 13:18:50    

Je voudrai savoir comment faire pour avoir un changement de couleur une ligne sur 2.
c ligne correspondent a des resultat donné par la base de donné SQL.
 
Comment faire ?
 
J'espere que vous aurez compriece que je voulais dire.

Reply

Marsh Posté le 31-07-2001 à 13:18:50   

Reply

Marsh Posté le 31-07-2001 à 13:26:05    

Tu declare une variable toto
A chaque tour de boucle, tu verifies la valeur de toto et lui attribues la valeur contraire, en gros
 
toto=0
For i = 1 to 100
  Si toto=0 ==> couleur=Rouge & toto=1
  Si toto=1 ==> couleur=vert  & toto=0
  Affiche <TR couleur>
Next

Reply

Marsh Posté le 31-07-2001 à 13:33:20    

Plus simple
 
un tableau  
 
couleur[]="#FFFFFF"
couleur[]="#EEEEEE"
 
dans la boucle une valeur s'incrémente
 
et pour chaque ligne
print("<TR BGCOLOR=" .$couleur[(toto%2)] ."">";
 
voilà quoi


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 31-07-2001 à 13:51:49    

Oula, je comprend pas tout moi.
 
pour dilyfe, c quoi ce For i = 1 to 100 ????
 
Pour lord ii, la je comprend que dalle.
Je voit a quoi sert l'incrementation, mais je comprend pas le reste.

Reply

Marsh Posté le 31-07-2001 à 13:56:28    

Version avec explications :
 
couleur[0]="#FFFFFF" //Ici on déclare le tableaux des couleurs
couleur[1]="#EEEEEE"
 
dans la boucle une valeur s'incrémente
 
et pour chaque ligne
print("<TR BGCOLOR=" .$couleur[($toto%2)] ."">";
 
$toto%2 : Donne le reste de la division entière de toto par 2. Ce qui fait pour 0,2 pour 1,1 pour 2,0 etc...
 
Donc $couleur[($toto%2)] donne la valeur du tableau couleur[0] ou couleur[1]

voilà quoi


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 31-07-2001 à 14:11:33    

en fait, c cette variable toto qui me gene bcp, je sais quoi comment la definir.

Reply

Marsh Posté le 31-07-2001 à 14:14:25    

Ebn php les variables ne se définissent pas. Et elles se typent suivant le contenu
 
donc tu fais avant ta boucle $toto=0;
 
et ensuit a chaque parcours de la boucle $toto++;


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 31-07-2001 à 14:23:55    

salut !

Reply

Marsh Posté le 31-07-2001 à 14:26:01    

Que fais tu là tu devrais pas etre au boulot


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 31-07-2001 à 14:40:35    

la je voie vraiment pas ce qui va pas. voila le script :
 
<?
$couleur[0]="#FFFFFF";
$couleur[1]="#000000";
$requete = "SELECT * FROM $table ";
$resultat = mysql_query( $requete );  
$nb = mysql_numrows($resultat);
 while ($row = mysql_fetch_array($resultat))
 { /* On parcoure les résultats de la requête */
   $tDeb = explode(" ", date("Y m j" ));  
    $tFin = explode("-", $row['end_date']);
   $elapse_time = (mktime (0,0,0,$tFin[1],$tFin[2],$tFin[0])-mktime(0,0,0,$tDeb[1], $tDeb[2], $tDeb[0]))/86400;
  if ( $elapse_time < "0" )
  {
   $id_num = $row['id'];
   for ($ligne=0; $ligne < 1; $ligne++){
echo "<table width=100% border=0 cellspacing=0 cellpadding=0>
  <tr bgcolor=". $couleur[($ligne%2)] .">
    <td width=150>".$row['last_name']."</td>
    <td>".$row['subject']."</td>
    <td width=75><a href=#>view</a></td>
    <td width=75><a href=#>refine</a></td>
  </tr>
</table>";
  }
 
Si vous pouviez me dire ce qui va pas, cela serait tres cool :)

Reply

Marsh Posté le 31-07-2001 à 14:40:35   

Reply

Marsh Posté le 31-07-2001 à 14:54:40    

heu pour le for next ca representait ta boucle. Ici, ton
while ($row = mysql_fetch_array($resultat))
 
Je connais pas PHP, c'etait juste un algo que je te donnais.
 
Sinon comme ca je pense que le for ($ligne est de trop.
Tu as oublié de declarer $toto=0; avant ton while et $toto++;  après le </table>
 
Sans etre sur...
Voila

Reply

Marsh Posté le 31-07-2001 à 14:58:06    

Déja qu'est ce qui s'affiche ??
 
Cette boucle for est bizarre, en fait je ferais ca comme ca
$i=0;
echo "<table width=100% border=0 cellspacing=0 cellpadding=0>";  
while ($row = mysql_fetch_array($resultat))  
{ /* On parcoure les résultats de la requête */  
  $tDeb = explode(" ", date("Y m j" ));  
  $tFin = explode("-", $row['end_date']);  
  $elapse_time = (mktime (0,0,0,$tFin[1],$tFin[2],$tFin[0])-mktime(0,0,0,$tDeb[1], $tDeb[2], $tDeb[0]))/86400;  
 if ( $elapse_time < "0" )  
 {  
  $id_num = $row['id'];  
  echo "<tr bgcolor=". $couleur[($i%2)] ."> ";
  echo "<td width=150>".$row['last_name']."</td>";  
  echo "<td>".$row['subject']."</td> ";
  echo "<td width=75><a href=#>view</a></td> ";
  echo "<td width=75><a href=#>refine</a></td> ";
  echo "</tr> ";
  $i++;
  }
}
echo "</table>";


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 31-07-2001 à 15:04:09    

merci bcp lord ii, ca marche nickel.
trop cool  :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed