Problème d'interrogation d'une table
Bonjour,
Je souhaite interroger la table "tauxexp" suivante:
id___________pod____________taux
1___________montreal________57
2___________calgary_________170
Lorsque le visiteur choisit "montreal", il doit obtenir "57" et lorsque le visiteur choisit "calgary", il doit obtenir "170".
La demande provient du formulaire suivant:
Code:
1 2 3 4 5 6 7 8 9 10
| <form action="calculateur1.php" method="post">
<label for="pays">Destination</label><br />
<select name="port" id="port">
<optgroup label="Canada">
<option value="montreal">Montreal</option>
<option value="calgary">Calgary, AB</option>
</optgroup>
</select>
<input type="submit" value="Obtenez votre prix de transport >>"/>
</form> |
Je me suis assuré avec la fonction echo que la variable $_POST["port"] était correctement transmise sur la page calculateur1.php.
Voici la page calculateur1.php:
Code:
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 40 41 42 43 44 45 46
| <?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("nico2_db", $con); // pas de soucis de connexion à la bd
$query1 = "SELECT taux FROM tauxexp" ; // on sélectionne la colonne taux de la table tauxexp
$reponse1 = mysql_query($query1);
while ($preach1 = mysql_fetch_array($reponse1)) // pas d'erreur jusqu'ici
{if ($_REQUEST["port"]=="montreal") $x=$preach1 ["taux"] ; if ($_REQUEST["port"]=="calgary") $y=$preach1 ["taux"] ; }
{if ($_REQUEST["port"]=="montreal") echo "Voici votre prix montreal en euros :" . $x ;}
{if ($_REQUEST["port"]=="calgary") echo "Voici votre prix calgary en euros :" . $y ;}
// le résultat affiché est toujours 170 même si montreal est sélectionné
// autre possibilité que j'ai essayé en vain:
$query1 = "SELECT taux FROM tauxexp WHERE pod=" . $_REQUEST["dep"] . "" ; // l'instruction est correcte car déjà utilisée pour d'autres applications similaires
$reponse1 = mysql_query($query1);
while ($preach1 = mysql_fetch_array($reponse1))
{$x=$preach1["taux"] ; }
{if ($_REQUEST["port"]=="montreal") echo . $x ;}
{if ($_REQUEST["port"]=="calgary") echo .$x ;}
mysql_close();
?> |
Les deux possibilités échouent, quelqu'un pourrait-il m'aider à trouver la solution ?
Merci mais ça ne marche toujours pas
Je ne pense pas que le problème provienne d'un == à la place d'un =
La fonction $preach1 = mysql_fetch_array($reponse1) fonctionne très bien pour une autre application similaire de requête de table.
En tout cas merci pour cette suggestion.
Quelqu'un aurait-il une autre idée?
Merci
Je pense que vous avez vu juste
Mais alors que faut il faire pour obtenir "montreal" > 57 et "calgary" > 170 ?