PHP / Menu deroulant Dynamique Bdd
Résolu
dubuducu
Messages postés
391
Date d'inscription
Statut
Membre
Dernière intervention
-
chaton1930 Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
chaton1930 Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
Bonjour,Bonjour,
Voci mon probleme.
Je souhaiterai avoir un menu deroulant dynamique qui fait appel directement aux champs de ma Bdd.
Je recoi des formulaires (devis) classés suivant leur famille (champs : categorie ) et leur sous famille ( champs : thematique_projet)
Voici mon code :
$requete_cat = "SELECT DISTINCT categorie FROM devis_table ORDER BY categorie";
$resultat_cat = mysql_query($requete_cat)
or die ("Exécution de la requête impossible");
$ra = "SELECT DISTINCT thematique_projet FROM devis_table ORDER BY thematique_projet";
$result = mysql_query($ra)
or die ("Exécution de la requête impossible");
//DISTINCT permet d'afficher qu'une fois les données
echo"<b>Choisissez une categorie de devis</b>\n";
echo"<br><br>";
echo "<select name='categorie'>\n";
echo "<option value='null'>Devis</option>";
while ($liste_cat=mysql_fetch_array($resultat_cat))
{
extract($liste_cat);
echo "<option value='$categorie'>$categorie\n";
}
echo " </select>\n";
echo " <BR><BR><BR><BR>";
Je souahiterai savoir la procédure pour que lorsqu je choisise une categorie, cela m'affiche un deuxieme menu deroulant avec la sous famille.
je pense qu'il faut faire une requete du genre:
Select Disctint * From devis_table Where categorie = '" .... je ne sais pas quoi mettre ici "'
puis apres ... je suis pomé ! Merci de votre aide
Voci mon probleme.
Je souhaiterai avoir un menu deroulant dynamique qui fait appel directement aux champs de ma Bdd.
Je recoi des formulaires (devis) classés suivant leur famille (champs : categorie ) et leur sous famille ( champs : thematique_projet)
Voici mon code :
$requete_cat = "SELECT DISTINCT categorie FROM devis_table ORDER BY categorie";
$resultat_cat = mysql_query($requete_cat)
or die ("Exécution de la requête impossible");
$ra = "SELECT DISTINCT thematique_projet FROM devis_table ORDER BY thematique_projet";
$result = mysql_query($ra)
or die ("Exécution de la requête impossible");
//DISTINCT permet d'afficher qu'une fois les données
echo"<b>Choisissez une categorie de devis</b>\n";
echo"<br><br>";
echo "<select name='categorie'>\n";
echo "<option value='null'>Devis</option>";
while ($liste_cat=mysql_fetch_array($resultat_cat))
{
extract($liste_cat);
echo "<option value='$categorie'>$categorie\n";
}
echo " </select>\n";
echo " <BR><BR><BR><BR>";
Je souahiterai savoir la procédure pour que lorsqu je choisise une categorie, cela m'affiche un deuxieme menu deroulant avec la sous famille.
je pense qu'il faut faire une requete du genre:
Select Disctint * From devis_table Where categorie = '" .... je ne sais pas quoi mettre ici "'
puis apres ... je suis pomé ! Merci de votre aide
A voir également:
- Php menu déroulant
- Menu déroulant excel - Guide
- Excel menu déroulant en cascade - Guide
- Menu déroulant google sheet - Accueil - Guide bureautique
- Supprimer menu déroulant excel - Forum Excel
- Easy php - Télécharger - Divers Web & Internet
2 réponses
Est ce que tu as trouvé la solution à ton problème... parce que j'ai le meme... si c'est le cas dis moi comment tu as fait
Merci
Merci
je n'ai pas trouvé la solution mais je me suis renseigné ... il faut utiliser Ajax ou des trucs comme ceux ci bien complexe pour un debutant comme moi.
Alors ma solution a été de faire plusieures pages. Je m'explique :
Ma page menu.php
je choisi le departement et la categorie
A l'aide d'un post je vais vers menu1.php
Menu1.php*
je fais une requete avec la catégorie d'avant concernant la sous_catégorie et ainsi de suite. Meme manipulation
j'ai donc fais des requetes par etapes afin d'arriver a mes choix multiples !!
un peu arcahaique mais fort efficace !
bonne chance
Alors ma solution a été de faire plusieures pages. Je m'explique :
Ma page menu.php
je choisi le departement et la categorie
A l'aide d'un post je vais vers menu1.php
Menu1.php*
je fais une requete avec la catégorie d'avant concernant la sous_catégorie et ainsi de suite. Meme manipulation
j'ai donc fais des requetes par etapes afin d'arriver a mes choix multiples !!
un peu arcahaique mais fort efficace !
bonne chance
J'ai un peu le même problème que toi.
J'ai décider d'utiliser un javascript pour recharger la page en envoyant le value du champs de la liste déroulante.
http://www.commentcamarche.net/forum/affich 7172439 liste deroulante et reload
Il ne te reste plus qu'à faire un SQL, qui récupére la variable.
@+
J'ai décider d'utiliser un javascript pour recharger la page en envoyant le value du champs de la liste déroulante.
http://www.commentcamarche.net/forum/affich 7172439 liste deroulante et reload
Il ne te reste plus qu'à faire un SQL, qui récupére la variable.
@+
jai la solution je vous poste mon code. Ca marche nickel
j'espère que ça servira à quelqu'un
si vous avez des question n'hésitez pas j'y repondrai avec plaisir dans la limite des capacites bien sur !
<?php $idr = isset($_POST['nom_projet'])?$_POST['nom_projet']:null; $bdd = mysql_connect('localhost','root','') or die("Erreur de connexion au serveur."); mysql_select_db('gestion',$bdd) or die ("erreur de connexion base"); $sql = 'SELECT DISTINCT nom_projet FROM `sous-projet` ORDER BY nom_projet '; $sql1 = 'UPDATE metrique SET commentaire = "" where 1'; $req1 = mysql_query($sql1) or die ("erreur1"); $req = mysql_query($sql) or die ("erreur2"); $num_ligne = mysql_num_rows($req); while($row = mysql_fetch_array($req) ) { $nom_projet[] = $row['nom_projet']; } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href="onglet.css" /> </head> <body> <div class="menu4"> </div> <div class="menu2"> <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="formulaire"> <STRONG> Sélectionner un projet : </STRONG> <select name="nom_projet" id="nom_projet" onchange="document.forms['formulaire'].submit();"> <?php for($i=0;$i<$num_ligne;$i++){ ?> <option value="<?php echo($nom_projet[$i]) ?>" <?php echo((isset($idr) && $idr == $nom_projet[$i])?" selected=\"selected\"":null) ?>> <?php echo $nom_projet[$i] ?></option> <?php } ?> </select> <?php mysql_free_result($req); if(isset($idr) && $idr != -1) { $sql2 = 'SELECT DISTINCT nom_sous_projet FROM `sous-projet` WHERE `nom_projet` = "'. $idr .'"ORDER BY nom_sous_projet'; $req2 = mysql_query($sql2) or die ("erreur3"); $num_ligne2 = mysql_num_rows($req2); //echo $num_ligne2; while($row = mysql_fetch_array($req2) ) { $nom_sous_projet[] = $row['nom_sous_projet']; //echo $nom_sous_projet[0]; //echo $nom_sous_projet[1]; } } ?> <P> </form> <form action="edit_export.php" method="post"> <STRONG> Sélectionner un sous projet : </STRONG> <select name="nom_sous_projet" id="nom_sous_projet"> <?php for($j=0;$j<$num_ligne2;$j++){ ?> <option value="<?php echo($nom_sous_projet[$j]) ?>"> <?php echo $nom_sous_projet[$j] ?> </option> <?php }?> </select> <BR> <BR> <BR> <INPUT TYPE=SUBMIT value="Valider" > </INPUT> </form> </div> </body> </html>
j'espère que ça servira à quelqu'un
si vous avez des question n'hésitez pas j'y repondrai avec plaisir dans la limite des capacites bien sur !