Probleme while

Fermé
JBennnBvs - 18 avril 2013 à 10:41
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 - 18 avril 2013 à 14:34
Bonjour,


J'ai un souci avec mon while.. je vois où est le problème mais je ne vois pas comment le corriger..
J'ai ce code :

<?php
            $variable=mysql_query("SELECT * FROM varPageWiki");
         
            while($var1=mysql_fetch_array($variable)){
             
                $listValeur=mysql_fetch_array(mysql_query("SELECT * FROM varPageWiki, pageWiki_Var WHERE varPageWiki.idVar = pageWiki_Var.numVar AND numPageWiki = '{$_GET['upd']}' AND idVar = '{$var1['idVar']}'"));
                 
             
             
            ?>
            <h1>Lien</h1>
            <input type="text" name="lien" style="width:100%" value="<?php echo $listValeur['valeurVar']; ?>"/>
             
            <h1>Descriptif court</h1>
            <textarea name="descriptifCourt" id="descriptifCourt" value="<?php echo $listValeur['valeurVar']; ?>" cols="60" rows="5" onkeyup="limite(this);MaxLengthTextarea(this, 150);"></textarea>
            <span id="compteur"></span>
             
            <h1>Montant approximatif</h1>
            <input type="text" name="montantMin" value="<?php echo $listValeur['valeurVar']; ?>" style="width: 90px;"/> min <input type="text" name="montantMax" value="<?php echo $listValeur['valeurVar']; ?>" style="width: 90px;"/> max<br/>
            <input type="text" name="pourcentage" value="<?php echo $listValeur['valeurVar']; ?>" style="width: 90px;"/> %
             
            <h1>Propriétaire ou locataire</h1>
            <select name="typePropri" id="typePropri">
                <option value="">Choisir</option>
                <option value="proprietaire" <?php if($listValeur['valeurVar'] == "proprietaire") echo "selected='selected'"; ?>>Propriétaire</option>
                <option value="locataire" <?php if($listValeur['valeurVar'] == "locataire") echo "selected='selected'"; ?>>Locataire</option>
            </select>
            <?php
            }
            ?>


Mes deux tables sont : pageWiki_Var( idPageWikiVar, numPageWiki, numVar, valeurVar)

et varPageWiki (idVar, nomVar, nomCritere, typeZone, nbChamps, nomsChamps, affiche)

Le problème avec mon while c'est qu'il m'affiche par exemple autant de :

<h1>Lien</h1>
            <input type="text" name="lien" style="width:100%" value="<?php echo $listValeur['valeurVar']; ?>"/>


qu'il y a d'idVar dans la table varPageWiki.

Comment je peux corriger cela ? svp je veux juste que dans mes values, on affiche la bonne valeur.

2 réponses

J'ai rien capté o_O

Et je suis dév...je précise --'
0
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 846
Modifié par Mihawk le 18/04/2013 à 14:35
C'est logique :

$variable=mysql_query("SELECT * FROM varPageWiki"); 
while($var1=mysql_fetch_array($variable)){... // ton code HTML }


Tu récupère l'intégralité de ta table "varPageWiki".
Puis pour chaque ligne (et ton chaque ID si tes ID sont uniques) tu exécutes tout ce qui se trouves dans ton while.

Ce comportement est donc bien celui que tu as codé. Pour éviter cela, il faut fermer l'accolade de ton while AVANT le <h1>.

Amicalement,
Pierre.
0