Liste liée avec connexion odbc
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 :
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 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);
?> |
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 ?
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.