Bonjour
Je suis en train de créer un formulaire ou on pourrait renseigner des informations à propos de formations proposées.
Je suis à un stade ou j'ai vraiment un problème, c'est quand je crée une liste liée (liste déroulante change en fonction du premier choix). J'ai décidé de faire appel uniquement au PHP et non à du javascript ou à de l'ajax.
J'ai tout de même testé ma requête sous access et elle marche :
Voici là ou çà coince :
Il ne m'affiche aucune erreur mais je crois que le compilateur n'arrive pas à faire le test isset() dans $row[intitule_gfe]. Pourquoi, çà devrait marcher non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
47
48
49
50
51 //Connexion a la base de donnée $cnx=odbc_connect("formation","root","") or die ("Impossible de se connecter Ã* la base de donnée"); //Création de la requête $sql="SELECT intitule_gfe FROM GFE ORDER BY intitule_gfe"; //Préparation et exécution de la reqûete $res=odbc_exec($cnx,$sql); //Affichage de la requête echo '<p> <label for="gfe"><li>GFE :</li></label><br/> <select name="gfe" id="gfe">'; echo "<option value='-1'>- - -Choisissez un GFE- - -</option>"; while($row=odbc_fetch_array($res)) { echo "<option value='".$row['intitule_gfe']."'>".$row['intitule_gfe']."</option>"; } echo '</select> </p>'; //Requête liée Ã* la première liste déroulante if(isset($_POST['$row[intitule_gfe]']) && $_POST['$row[intitule_gfe]'] != -1) { //Préparation de la requête $sql2="SELECT SSGFE.intitule_ssgfe FROM SSGFE,GFE,Posseder WHERE GFE.num_gfe=Posseder.num_gfe AND Posseder.num_ssgfe=SSGFE.num_ssgfe AND GFE.intitule_gfe= ".$row[intitule_gfe]." ORDER BY intitule_ssgfe"; //Préparation et exécution de la requête $res2=odbc_exec($cnx,$sql2); //Affichage de la requête echo '<p> <label for="ssgfe"><li>Sous-GFE</li></label><br/> <select name="ssgfe" id="ssgfe">'; while($row2=odbc_fetch_array($res2)) { echo '<option value="'.$row2['intitule_ssgfe'].'">'.$row2['intitule_ssgfe'].'</option>'; } echo '</select> </p>'; } //Deconnexion odbc_close($cnx); ?>
Si j'ignore le test, alors il va me détecter une erreur au niveau du odbc_exec. En effet, le compilateur me signale une erreur au niveau de la jointure, mais je sais que la requête est bonne.
Merci d'avance d'avoir lu mon message en attendant une réponse.
Partager