Récuperation variable formulaire

Invité
Invité n'ayant pas de compte PHPfrance

24 avr. 2007, 15:16

Boujour à tous,
Je viens de me remetre au php pour la création d'un formulaire de réservation et c'est tres laborieux.
Je viens de créer un formulaire où les gens choisissent leur lieu d'arriver, leur destination et le nombre personne présente, ces troix critère son des menus déroulant lier à ma base de donner. Une fois chaque critère choisi j'aimerais faire apparaitre le prix correspondant (lui aussi stocker dans ma base) mais je n'arrive pas à récupérer les résultat les choix voici mon code :

Code : Tout sélectionner

<?php $conbas=mysql_connect("localhost","root",""); mysql_select_db("abcis",$conbas); import_request_variables ("g", "lien_"); ?> <tr> <td>Gare/Aéroport d’arrivée </td> <td> <select name="arriver" onchange="document.getElementById('div_resultat').innerHTML=this.value"> <option>Choix de votre arriver</option> [php]<?php $sql="SELECT nom_arriver, id_arriver FROM arriver"; $res=mysql_query($sql,$conbas); $num=mysql_num_rows($res); while( $enr = mysql_fetch_row($res) ){ echo '<option value="<a href=\'reservation-tranport-tourisme-abcis.php?id_arriver=',$enr[1],'\'>',$enr[0],'</a>">',$enr[0],'</option>'; ;} ?>[/php] </select> </td> </tr> <tr> <td>Destination</td> <td> <select name="destination" onchange="document.getElementById('div_resultat_destination').innerHTML=this.value"> <option>Choix de votre destination</option> [php]<?php $sql="SELECT nom_destination, id_destination FROM destination"; $res=mysql_query($sql,$conbas); $num=mysql_num_rows($res); while( $enr = mysql_fetch_row($res) ){ echo '<option value="<a href=\'reservation-tranport-tourisme-abcis.php?id_destination=',$enr[1],'\'>',$enr[0],'</a>">',$enr[0],'</option>'; } ?>[/php] </select> </td> </tr> <tr> <td>Total de personne</td> <td> <!--<div id="TotalPersonne"></div>--> <select name="nbpersonne"> [php]<?php $sql="SELECT nom_nbpersonne, id_nbpersonne FROM nbpersonne"; $res=mysql_query($sql,$conbas); $num=mysql_num_rows($res); while( $enr = mysql_fetch_row($res) ){ echo '<option>',$enr[0],'</option>'; } ?>[/php] </select> </td> </tr> <tr> <td>Tarif</td> <td>[php]<?php $sql = "SELECT id_prix, recup_id_arriver, recup_id_destination, recup_id_nbpersonne, nom_prix FROM prix WHERE recup_id_arriver='$lien_id_arriver' AND recup_id_destination='$lien_id_destination' AND recup_id_nbpersonne='$lien_id_nbpersonne'"; $res=mysql_query($sql,$conbas); $num=mysql_num_rows($res); $enr = mysql_fetch_row($res); echo"<input type='text' name='total' size='26' class='cham' value=",$enr[4]," onfocus = 'document.forms.reservation.total.blur()' >" ?>[/php] </td> </tr>
Voila en gros ou j'en suis et je n'arrive vriament plus a avancer. Si quelqu'un aurais un petit moment pour m'aider se serais vraiment simpa.

merci à tous [/php]

Avatar du membre
ViPHP
ViPHP | 3008 Messages

24 avr. 2007, 15:29

Tu veux dire que tu n'arrives pas à récupérer les enregistrements ?

Modifies ta concaténation. Utilises des points à la place des virgules.

Invité
Invité n'ayant pas de compte PHPfrance

24 avr. 2007, 15:42

Merci pour les point à la place des virgules.
En faite oui c'est sa je n'arrive pas a récupérer les critères que les gens choissice dans les menus déroulant. J'en ai besoins pour récupérer le prix correspondant dans la base de donner.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

24 avr. 2007, 16:16

<?php 
             $sql="SELECT nom_arriver, id_arriver FROM arriver"; 
             $res=mysql_query($sql,$conbas); 
             $num=mysql_num_rows($res); 
             while( $enr = mysql_fetch_row($res) ){ 
              echo '<option value="<a href=\'reservation-tranport-tourisme-abcis.php?id_arriver='.$enr[1].'\'>'.$enr[0].'</a>">'.$enr[0].'</option>'; 
             ;} 
          ?>
Si tu fais echo $enr['nom_arriver'] et echo $enr['id_arriver'] tu as quoi ?

Invité
Invité n'ayant pas de compte PHPfrance

24 avr. 2007, 16:39

Excuse-moi mais je ne comprend pas se que tu veux que je face?

Avatar du membre
ViPHP
ViPHP | 3008 Messages

24 avr. 2007, 16:56

D'essayer d'afficher $enr['nom_arriver'] et echo $enr['id_arriver'] dans ta page pour voir si ces deux variables sont bien récupérées.

Invité
Invité n'ayant pas de compte PHPfrance

24 avr. 2007, 17:25

Je n'arrive pas à les faire afficher elles ne doivent donc pas etre récupérer, elles n'apparaissent que dans le menu deroulant et de la je ne peux pas les récuperer.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

24 avr. 2007, 17:43

euh.. il faut un mysql_fetch_assoc() ou un fetch_array() pour pouvoir accéder aux valeurs via le nom des champs.. le fetch_row() ne permet d'y avoir accès que par leur position.

Mais si ton select est correctement généré à l'écran, je ne pense pas que le soucis vienne de là... c'est dans la page qui récupère les données qu'il faut vérifier que les valeurs sont bien passées...

Par contre mettre du html (en l'occurence un lien) à l'intérieur de la value d'une option, c'est pas super propre... Faudrait au moins passer le tout sous htmlentities() pour que les tags < > soient transformés en < >
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...