Passage parametres php

Puec Messages postés 12 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 27 janvier 2005 - 16 janv. 2005 à 16:16
Puec Messages postés 12 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 27 janvier 2005 - 23 févr. 2005 à 11:28
Bonjour,


Je débute en php, et je rencontre un problème.
J'ai un formulaire qui contient 2 listes déroulantes contenant dont chacun des items provient d'une base de données MySQL.
Afin d'effectuer une recherche, je voudrais en postant le form récupérer les valeurs des 2 listes selectionnées par l'utilisateur.
Dans la barre de lien, les 2 valeurs apparaissent, mais lorsque j'affiche une fenetre JS je n'ai qu'une seule valeur.
Je ne vois pas mon erreur... pourriez vous m'aider ??


Merci d'avance !!!! :D


Voici le code :
// connexion a la base
<form name="choix" method=GET action=ind.php?dep=$a&arr=$b>
<select name="menuvdep">
<option selected>Sélectionnez une ville</option>";
// Recuperation des villes de départ
$tab1 =array();
while($row = mysql_fetch_row($result)){
$tab1[] = $row[0];
}


$tabtri1 = array_unique($tab1);
sort($tabtri1);
for($j=0;$j<sizeof($tabtri1);$j++)
{ $a = $tabtri1[$j];
echo "<option value=$a>$a</option>";}


echo "<tr><td>pays d'arrivée</td></tr>";
$query = "SELECT paysdest FROM voyage ";
$result = mysql_query($query);
echo "<tr><td><select name="menupaysdest">
<option selected>Sélectionnez un pays</option>";
// Recuperation des pays de dest
$tab = array();
while($row = mysql_fetch_row($result)){
$tab[]= $row[0];
}
$tabtri = array_unique($tab);
sort($tabtri);
for($i=0;$i<sizeof($tabtri);$i++)
{$b = $tabtri[$i];
echo "<option value=$b>$b</option>";}



echo"</select>"


echo""
echo""
echo""
?>
</form>

5 réponses

arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
17 janv. 2005 à 12:17
Bonjour,
Quelques petites erreurs :

- fais bien attention de toujours terminer tes lignes php par un point-virgule, notamment les 4 dernières.

- <tr> et <td> sont des balises qui ne doivent être utilisées que dans des tables ainsi : blabla, blabla2

- Lorsque tu fais un echo "", à l'interieur de la chaine qe tu veux écrire, il ne doit pas y avoir de guillemets doubles, ainsi
echo""
s'écrit plutôt
echo"";
ou encore
echo"";

- il manque la balise </select> fermant la 1e liste déroulante

- les attributs des balises html s'écrivent . Ainsi préfère écrire
<option select='selected'>
que
<option selected>

- La méthode GET est-elle la plus appropriée pour passer les valeurs de ton formulaire ? A ta place, j'aurais utilisé un POST :
echo "<form name="choix" method='POST' action='ind.php'>";
Ensuite, dans ind.php, tu peux récupèrer les valeurs postées dans $_POST['menuvdep'] et dans $_POST['menupaysdest'].

Voilà, bon courage

Si tu ne t'en sors pas, n'hésite pas à en demander plus, en donnant aussi le code de la pge de destination.

a+
Arnaud
0
Puec Messages postés 12 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 27 janvier 2005
17 janv. 2005 à 18:45
Bonsoir,
Je te remercie pour ton aide précieuse !!!
J'aurais cependant une autre petite question...
J'ai cette erreur lors de l'appel de la page destination. Toutes mes tables sont bien déclarées, les champs aussi.


Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-7\www\ind.php on line 49

Je te donne une partie du code de la page :

$d = $_POST['menuvdep'];
$a = $_POST['menupaysdest'];
$query = "SELECT vdep,paysdest,varri, tarif FROM voyage where vdep=$d and paysdest=$a";
$result = mysql_query($query);
while($row = mysql_fetch_row($result)){
$vdep = $row[0];
$paysdest = $row[1];
$varri = $row[2];
$prix = $row[3];
echo "$vdep $paysdest ($varri) $prix";
}

Dsl pour mes petits problèmes de débutants, si tu en veux encore, n'hésite pas... lol

Encore merci !!!

Bonne soirée
0
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
18 janv. 2005 à 09:40
Apparement il y a un pb dans ta requête.
Essaie $query = "SELECT vdep,paysdest,varri, tarif FROM voyage where vdep='$d' and paysdest='$a'";
Sinon, tu peux aussi afficher ta requête avec un echo $query, pour débugger.
Les valeurs ont-elles bien été postées (tu le vera dans l'affichage de la requête) ?

Arnaud
0
Puec Messages postés 12 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 27 janvier 2005
19 janv. 2005 à 12:23
Merci merci pour tous tes conseils qui m'ont vraiment aidé !!!!!!

Bonne journée

Gaelle
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Puec Messages postés 12 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 27 janvier 2005
23 févr. 2005 à 11:28
Bonjour !
Je viens d'aller voir ton site il me plait bcp. Je voudrais savoir si tu peux me donner la technique d'affichage que tu as utilisé pour ton cv ?
Merci d'avance
0
Rejoignez-nous