IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] probleme de for dans un while


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 39
    Points : 20
    Points
    20
    Par défaut [Tableaux] probleme de for dans un while
    Bonsoir à tous,

    Comme le titre l'explique, je rentontre un probleme avec un for, que j'ai inséré dans une boucle. J'essaie de colorer le background de mon tableau en dual -couleur (1 ligne = $bcgolor1 ; 2 ligne = $bgcolor2).
    Le problème c'est que mon tableau est répété une 50 aines de fois au lieu de m'afficher mes 3 résultats
    Par contre mon tableau et bien en "dual couleur"

    voici le code qui me pose problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <?php
    function row_color($i)
    {
    	$bgcolor1 = "#eeeeee";
    	$bgcolor2 = "#cccccc";
     
    	if ( ($i % 2) == 0 ) {
    		return $bgcolor1;
    	} else {
    		return $bgcolor2;
    	}
    }
    ?>
     
    <h3>Ici tu peux acheter tes hommes</h3>
     
    <?php
    while ($val = mysql_fetch_array ($res_persos_achat)) { 
    ?>
     
    <form name="form1" action="ajout.php"  method="post">
          <table width="400px">
    <?php
    for ($i=0, $n=count($val); $i<$n; $i++) {
    $row_data = $val[$i];
    $val["perso"]."" == $row_data[0];
    $val["quantite"]."" == $row_data[1];
    ?>
     
    <tr bgcolor="<?echo "".row_color($i)."" ?>">
    <td width="50%"><?php echo "".$val["perso"].""; ?></td>
    <td width="10%"><?php echo "".$val["quantite"].""; ?></td>
    <td width="20%" align="right"><input type="texte" size="5" name="quantite" value="" /></td>
    <td width="20%"><input type="submit" name="form1" value="acheter" /></td>
    </tr>
    <?php }  ?>
    <?php } ?>
    </table>
    </form>
    P.S Je suis désolé de l'indentation du code, mais ca générait une grande barre horizontale. Puis de tout facon c'est juste un for dans une boucle

    Merci d'avance pour l aide

  2. #2
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut
    Je ne comprend pas pourquoi tu imbriques deux boucle...

    Essaye ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <?php
    function row_color($i)
    {
        $bgcolor1 = "#eeeeee";
        $bgcolor2 = "#cccccc";
     
        if ( ($i % 2) == 0 ) {
            return $bgcolor1;
        } else {
            return $bgcolor2;
        }
    }
    ?>
     
    <h3>Ici tu peux acheter tes hommes</h3>
     
    <?php
    $i = 0;
    while ($val = mysql_fetch_array ($res_persos_achat)) { 
        $row_data = $val[$i];
        $val["perso"]."" == $row_data[0];
        $val["quantite"]."" == $row_data[1];
    ?>
     
    <form name="form1" action="ajout.php"  method="post">
          <table width="400px">
     
    <tr bgcolor="<?echo "".row_color($i)."" ?>">
    <td width="50%"><?php echo "".$val["perso"].""; ?></td>
    <td width="10%"><?php echo "".$val["quantite"].""; ?></td>
    <td width="20%" align="right"><input type="texte" size="5" name="quantite" value="" /></td>
    <td width="20%"><input type="submit" name="form1" value="acheter" /></td>
    </tr>
    <?php $i++; }  ?>
    </table>
    </form>

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 39
    Points : 20
    Points
    20
    Par défaut
    Ah ben en effet

    J'ai encore pas mal de peine avec boucle et consort lol

    Ton code marche impecc !

    Un grand merci pour ton aide !

    Bonne soirée.

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. boucle "for" dans "do while"
    Par oranoutan dans le forum C#
    Réponses: 13
    Dernier message: 05/06/2007, 22h13
  2. [Tableaux] Problème de lignes dans un tableau
    Par Perymanu dans le forum Langage
    Réponses: 10
    Dernier message: 18/12/2006, 21h31
  3. [Tableaux] Probleme variable statique dans une classe
    Par Joe Le Mort dans le forum Langage
    Réponses: 7
    Dernier message: 31/08/2006, 12h35
  4. [Tableaux] changer d'enregistrement dans un WHILE
    Par gretch dans le forum Langage
    Réponses: 14
    Dernier message: 27/07/2006, 18h31
  5. Réponses: 2
    Dernier message: 24/06/2004, 10h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo