Passage devariable avec une liste deroulante
David
-
flokocha Messages postés 1519 Statut Membre -
flokocha Messages postés 1519 Statut Membre -
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>
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>
A voir également:
- Passage devariable avec une liste deroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Passage qwerty azerty - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
7 réponses
j'ai essayé mais toujours rien,est-ce une erreur de syntaxe ou cela viens t-il de la variable!?
merci pour votre aide
merci pour votre aide
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
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
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
Flipody
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." :::.
$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." :::.