Probleme while
JBennnBvs
-
Mihawk Messages postés 4753 Statut Contributeur -
Mihawk Messages postés 4753 Statut Contributeur -
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
- Factorielle en c boucle while - Forum C
- A sharing violation occurred while accessing ✓ - Forum Virus
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.