Probleme while
JBennnBvs
-
Mihawk Messages postés 4315 Date d'inscription Statut Contributeur Dernière intervention -
Mihawk Messages postés 4315 Date d'inscription Statut Contributeur Dernière intervention -
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 :
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 :
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.
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.
A voir également:
- Probleme while
- Error code 1309 mac while copying ✓ - Forum MacOS
- Application error: a client-side exception has occurred while loading www.leboncoin.fr (see the browser console for more information). ✓ - Forum Réseaux sociaux
- While fscanf ✓ - Forum C
- An error occurred while unpacking unable to write data to disk unarc.dll returned an error code 11 ✓ - Forum Jeux PC
- Can't use mobile hotspot while data saver is on ✓ - Forum Wiko
2 réponses
C'est logique :
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.
$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.