Select 1er list et aparition automatik sur la 2ème liste de menu

Fermé
albatrosss - Modifié par albatrosss le 26/02/2015 à 17:00
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 - 27 févr. 2015 à 16:40
Bonjour la communauté !

je suis entrain de travailler actuellement sur un cde, dans j'ai une BD dans laquelle j'ai une table commissariat et une autre service. la relation est que la clé de commissariat migre dans service, donc service dépend de commissariat.
Je veux créer un formlulaire d'insertion, en faisons appel à une procédure stockée que j'ai déjà créee, dans ce formulaire je veux que lorsqu'on selectionne un commissariat, le service qui va avec s'affiche (correspondance par identifiants). Voici mon code et essayez de m'aider s'il vous plaît.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>

<body>
<form method="post" name="fvn"><br>
Pays
<select name="commissariat" size="1" id="N_COMMISSARIAT" onChange="">
<option value="%" selected>--Choix--</option>
<?php
mysql_connect("localhost","root");
mysql_select_db("gesma");
$requet = "SELECT * FROM commissariat ";
if($resultat=mysql_query($requet))
{
while($ligne= mysql_fetch_row($resultat))
{
$N_COMMISSARIAT=$ligne[0];
$commissariat=$ligne[1];
echo '<option value="',$N_COMMISSARIAT,'">',$commissariat,'</option>';
}
}
else
{
echo "erreur de la requete";
}
mysql_close();
?>
</select><br><br><br>
service
<select name="service" size="1" id="N_SERVICE">
<option value="%" selected></option>
<?php
if(isset($_POST['commissariat'])) // on vérifie qu'un pays à bien été sélectionné
{
$requet = 'SELECT * FROM service WHERE N_COMMISSARIAT=' . $_POST['commissariat'] . ' ORDER BY service'; // on choisit dans la table ville les villes dont le pays correspond à la variable POST, c'est-à-dire à celui qui avait été sélectionné dans le 1er menu déroulant et on les classe par ordre alphabétique
if($resultat=mysql_query($requet))
{
while($ligne= mysql_fetch_row($resultat))
{
$N_COMMISSARIAT=$ligne[0];
$N_SERVICE=$ligne[1];
$service=$ligne[2];
echo '<option value="' . $N_SERVICE . '">' . $service . '</option>';
}
}
else
{
echo "erreur de la requete";
}
}

mysql_close();
?>
</select> <br>
<input name="submit" type="submit" value="Envoyer">
<br>
</form>
</body>
</html>

1 réponse

hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
26 févr. 2015 à 20:36
Bonsoir, lorsque vous définissez votre formulaire vous ne précisez pas la page de traitement !

Il faut ajouter :

<form method="post" name="fvn" action="page.php">
0
Quelle page de traitement, j'ai une page qui fait appel à ma procédure stockée c'est elle? on dit aussi qu'avec ajax c'est possible, mais je n'ai pas une bonne source !
0
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
Modifié par hharchi9 le 27/02/2015 à 16:40
Je parle de la page sur laquelle se trouve votre code. Le formulaire qui permet de sélectionner le pays doit être lié à votre script :

if(isset($_POST['commissariat'])) // on vérifie qu'un pays à bien été sélectionné 
{ 
0