Probleme de selection dans une liste déroulan

Fermé
tortue_22 Messages postés 1 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 22 avril 2009 - 22 avril 2009 à 09:23
irem Messages postés 164 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 9 octobre 2012 - 24 avril 2009 à 06:51
Bonjour,

j'ai un problème sur mon code car je n'arrive pas à récupérer une valeur de la première liste déroulante pour pouvoir sélectionner une autre liste avec une requête SQL, j'ai recherché plusieurs solutions même par javascript mais j'arrive pas à mettre la valeur de l'utilisateur de la première liste pour sélectionner des valeurs précises dans la second liste.

voici mon code php :

<?php
//On inclue se fichier car il contient la fonction bdd_connexion()
include 'fonctions_recherche.php';
//on se connecte à la base de donnée
bdd_connexion();
//requete effectué pour lister les différents sites dans la liste déroulante
$requete_site ="SELECT DISTINCT site FROM site_sous_reseau ORDER BY site";

//vérification de la requête
$result_site = mysql_query($requete_site)
or die ("Execution impossible de la requête");

//creéation d'une liste déroulante site
echo "<p id='lieu'>du site ";
echo "<select name='endroit'>
<option value='0'>--Veuillez choisir--\n";
while($ligne_site = mysql_fetch_assoc($result_site))
{
extract($ligne_site);
echo "<option value='$site'>$site\n";
//la valeur de $site est la dernière de la table par odre alphabétique qui est valence
}


//requete effectué pour lister les différents terrain des sites dans la liste déroulante
$requete_terrain ="SELECT terrain FROM parcelle WHERE site LIKE '$site'";

//la valeur $site = valence donc cela affiche toujours les terrains de valence mais je voudrais la valeur sélectionné par l'utilisateur.

//vérification de la requête
$result_terrain = mysql_query($requete_terrain)
or die ("Execution impossible de la requête");

//creéation d'une liste déroulante terrain
echo "<p id='parcelle'>et du terrain ";
echo "<select name=terrain'>
<option value='0' selected>--Veuillez choisir--\n
<option value='1'>Tous\n";
while($ligne_terrain = mysql_fetch_assoc($result_sous_reseau))
{
extract($ligne_terrain);
echo "<option value='$terrain'>$terrain\n";
}
echo"</select></p>";

?>

Si vous avez une solution à me proposer, merci d'avance

tortue

1 réponse

irem Messages postés 164 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 9 octobre 2012 99
24 avril 2009 à 06:51
En fait il faut recuperer la valeur du premier champ avant de faire la seconde requete donc soit en ajax soit en deux fois, en deux fois cela donne (a sécuriser pour le formulaire) :

<?php
//On inclue se fichier car il contient la fonction bdd_connexion()
include 'fonctions_recherche.php';
//on se connecte à la base de donnée
bdd_connexion();
//requete effectué pour lister les différents sites dans la liste déroulante
$requete_site ="SELECT DISTINCT site FROM site_sous_reseau ORDER BY site";

//vérification de la requête
$result_site = mysql_query($requete_site)
or die ("Execution impossible de la requête");
?>
<form method=get action="">
<?php

//creéation d'une liste déroulante site
echo "<p id='lieu'>du site ";
echo "<select name='endroit'>
<option value='0'>--Veuillez choisir--</option>";
while($ligne_site = mysql_fetch_assoc($result_site))
{
extract($ligne_site);
echo "<option value='$site'>$site</option>";
//la valeur de $site est la dernière de la table par odre alphabétique qui est valence
}
?>
</select>
</form>
<?php
if (isset($_GET['endroit']) {


//requete effectué pour lister les différents terrain des sites dans la liste déroulante
$requete_terrain ="SELECT terrain FROM parcelle WHERE site LIKE '$_GET['endroit']'";

//la valeur $site = valence donc cela affiche toujours les terrains de valence mais je voudrais la valeur sélectionné par l'utilisateur.

//vérification de la requête
$result_terrain = mysql_query($requete_terrain)
or die ("Execution impossible de la requête");

//creéation d'une liste déroulante terrain
echo "<p id='parcelle'>et du terrain ";
echo "<select name=terrain'>
<option value='0' selected>--Veuillez choisir--\n
<option value='1'>Tous\n";
while($ligne_terrain = mysql_fetch_assoc($result_sous_reseau))
{
extract($ligne_terrain);
echo "<option value='$terrain'>$terrain\n";
}
echo"</select></p>";
}
?>
0