Passage devariable avec une liste deroulante

Fermé
David - 7 juin 2004 à 15:25
flokocha Messages postés 1510 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 10 octobre 2015 - 7 juin 2004 à 16:15
Bonjour a tous,
ma base de données gere des employés avec leur localisation,j'ai mis les localisation dans une liste deroulante et quand je souhaite voir les nom et prenoms de semployés travaillant dans cette localisation,la page de resultat ne me renvoie rien,
je ne sais pas si le probleme viens de la variable,de l'affichage...?
help me please!

/page qui cree la liste deroulante
<?

$host="localhost";
$user="***";
$pass="********";
$bdd="gestionpersonnel";

$connect=mysql_connect("$host","$user","$pass");
mysql_select_db($bdd,$connect) or die("erreur de connexion à la base de données");
if ($connect){
//connexion reussie
echo"<FORM action='php021.php' method='POST'>";
echo"<P>Sélectionnez la localisation souhaitée : </P>";
echo '<SELECT NAME="loc" size=1>';
$query="select * from localisation order by localisation";
$result= mysql_db_query($bdd, $query, $connect) or die(mysql_error());
if (mysql_fetch_row($result)){
echo'<OPTION SELECTED value="'.$field[0].'">'.$field[1];
while($field = mysql_fetch_row($result)){
echo'<option value ="'.$field[0].'">'.$field[1];
}
echo "</select>";
}
echo'<p><input type="submit" value="Afficher la liste"></p>';
echo"</form>";
}
else echo "problème à la connexion<br>";
mysql_close($connect);
?>
</body>
</html>
---------------------------------------------
/page du resultat
<html><head><title>liste des employés</title>
</head>
<body>
<?
$host="localhost";
$user="*****";
$pass="*********";
$bdd="gestionpersonnel";
$loca=$_POST['loc'];


$connect=mysql_connect("$host","$user","$pass");
mysql_select_db($bdd,$connect) or die("erreur de connexion à la base de données");
if ($connect){
//connexion reussie
$query="select nom,prénom from employé,localisation where employé.no_loca=localisation.no_loca and localisation.localisation=$loca";
$result= mysql_db_query($bdd, $query, $connect) or die(mysql_error());

echo'<p><table border=2 width="75%">';
echo"<tr><th>nom</th><th>prénom</th></tr>";
while($field = mysql_fetch_row($result)){
echo "<TR><TD>".$field[0]."</TD><TD>".$field[1]."</TD></TR>";

}
echo"</table><p>";
}
else
echo"problème à la connexion<br>";
mysql_close($connect);
?>
</body>
</html>

7 réponses

Utilisateur anonyme
7 juin 2004 à 15:38
affiche ta variable avant la requete pour verifier qu'elle contient bien ce que tu veux
0
j'ai essayé mais toujours rien,est-ce une erreur de syntaxe ou cela viens t-il de la variable!?

merci pour votre aide
0
Utilisateur anonyme
7 juin 2004 à 15:45
si il n'y a rien dans ta variable c'est qu'il y a un problème dans sa recupération
0
ta variable $_POST['loc'] c'est bien la valeur qui a été choisis dans ton menu déroulant ?
0

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

Posez votre question
oui $_POST['loc'] correspond a la valeur de la liste deroulante,
je l'ai declaré comme ca dans la page de creation de la liste:
echo '<SELECT NAME="loc" size=1>'

et ca ,ne me renvoie rien
d'ou le pb peut il venir

merci
0
hum la méthode est bonne ! essai de refermer tes balises <option> pour voir ou sinon ca peut provenir de tes fields, essai en mettant n'importe koi a la place des fields et regarde si il récupere les données dans ta page php, si oui c ke l'erreur est au niveau des fields.

Flipody
0
flokocha Messages postés 1510 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 10 octobre 2015 280
7 juin 2004 à 16:15
Essaie de remplacer ça $query="select nom,prénom from employé,localisation where employé.no_loca=localisation.no_loca and localisation.localisation=$loca"; par ça:
$query="select nom,prénom from employé,localisation where employé.no_loca=localisation.no_loca and localisation.localisation='".$loca."'"

.::: "A trop vouloir feindre de faire fi, on finit 
par faire fi de vouloir feindre." 
:::.
0