Liste déroulantes
Résolu
jourdanne85
Messages postés
27
Date d'inscription
Statut
Membre
Dernière intervention
-
jourdanne85 Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
jourdanne85 Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je tiens à dire que je suis un débutant, alors excusez-moi d'avance pour les questions "cons".
Voilà, je souhaite réaliser plusieurs listes déroulantes à partir d'une BDD sur le site d'un garage automobile.
Pour bien comprendre, j'ai une liste "MARQUE" une autre "MODELE" et ainsi de suite.
J'ai 2 problèmes.
1/ J'essaye tout d'abord d'afficher tout le contenu de la BDD pour la liste "MARQUE".Mais, il m'affiche
plusieurs fois la même marque dans ma liste déroulante (j'ai plusieurs RENAULT par exemple dans la BDD).
Voir code :
2/ Je dois lier les différentes listes déroulantes. Par exemple, si je choisis la marque MERCEDES dans une liste,
il faut que la liste "MODELE" ne m'affiche que les modèles de la marque MERCEDES.
J'ai commencé à regarder dans les forums la solution mais je ne maitrise pas du tout le JAVASCRIPT.
Je voudrai savoir si je suis obligé d'utiliser le Javascript où s'il existe une autre solution.
Je vous remercie par avance.
Je tiens à dire que je suis un débutant, alors excusez-moi d'avance pour les questions "cons".
Voilà, je souhaite réaliser plusieurs listes déroulantes à partir d'une BDD sur le site d'un garage automobile.
Pour bien comprendre, j'ai une liste "MARQUE" une autre "MODELE" et ainsi de suite.
J'ai 2 problèmes.
1/ J'essaye tout d'abord d'afficher tout le contenu de la BDD pour la liste "MARQUE".Mais, il m'affiche
plusieurs fois la même marque dans ma liste déroulante (j'ai plusieurs RENAULT par exemple dans la BDD).
Voir code :
<form method="post" action="recherche_vehicule.php"> <select name="carrosserie" id="carrosserie"> <?php mysql_connect("localhost","root",""); mysql_select_db("garagedurand"); $reponse = mysql_query("SELECT * FROM auto ") or die(mysql_error()); ?> <option value="*">LES CARROSSERIES</option> <?php while($carros = mysql_fetch_array($reponse)) <option value="<?php echo $carros['carrosserie']; ?>"><?php echo $carros['carrosserie']; ?></option> <?php } ?> </select>
2/ Je dois lier les différentes listes déroulantes. Par exemple, si je choisis la marque MERCEDES dans une liste,
il faut que la liste "MODELE" ne m'affiche que les modèles de la marque MERCEDES.
J'ai commencé à regarder dans les forums la solution mais je ne maitrise pas du tout le JAVASCRIPT.
Je voudrai savoir si je suis obligé d'utiliser le Javascript où s'il existe une autre solution.
Je vous remercie par avance.
A voir également:
- Liste déroulantes
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Site dangereux liste - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
7 réponses
Bonjour ,
Pour le 1er problème , regarde du coté de distinct en sql.
Donc ça va récupérer les marques différentes seulement, je pense que c'était que tu souhaitais.
Pour le 2ème problème ,il faut utiliser un attribut dans le même genre que onchange sur le 1er formulaire qui enverrai la marque,ensuite tu récupère la marque envoyé puis tu fais une requête avec celle ci.
Il doit y avoir d'autres solutions , celle ci est la simple je pense bien que certain n'aime pas voir utiliser onchange.
Pour le 1er problème , regarde du coté de distinct en sql.
SELECT distinct marque, champ1, champ2 FROM auto
Donc ça va récupérer les marques différentes seulement, je pense que c'était que tu souhaitais.
Pour le 2ème problème ,il faut utiliser un attribut dans le même genre que onchange sur le 1er formulaire qui enverrai la marque,ensuite tu récupère la marque envoyé puis tu fais une requête avec celle ci.
Il doit y avoir d'autres solutions , celle ci est la simple je pense bien que certain n'aime pas voir utiliser onchange.
salut déjà commence par optimisé un peut ton code :
<form method="post" action="recherche_vehicule.php">
<select name="carrosserie" id="carrosserie">
<option value="*">LES CARROSSERIES</option>
<?php
mysql_connect("localhost","root","");
mysql_select_db("garagedurand");
$reponse = mysql_query("SELECT distinct * FROM auto ") or die(mysql_error());
while ($carros = mysql_fetch_array($reponse)) {
echo '<option value="'.$carros['carrosserie'].'">'.$carros['carrosserie'].'</option>';
}
?>
</select>
Puis pour lier les liste faut regarder du coté d'AJAX
<form method="post" action="recherche_vehicule.php">
<select name="carrosserie" id="carrosserie">
<option value="*">LES CARROSSERIES</option>
<?php
mysql_connect("localhost","root","");
mysql_select_db("garagedurand");
$reponse = mysql_query("SELECT distinct * FROM auto ") or die(mysql_error());
while ($carros = mysql_fetch_array($reponse)) {
echo '<option value="'.$carros['carrosserie'].'">'.$carros['carrosserie'].'</option>';
}
?>
</select>
Puis pour lier les liste faut regarder du coté d'AJAX
Muska92 , un distinct * marche -t-il correctement ? Je n'ai jamais essayé , je ne dis pas que c'est faux mais ça me semble bizarre. Ça fait un distinct sur tous les champs ,non ? Pas top si par exemple il stock l'année dans sa table.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci beaucoup de vous préoccuper de mes problèmes.
J'ai essayé le " distinct * " et cela ne marche pas.
Par contre, je l'ai remplacé par " distinct carrosserie", et là il m'affiche bien juste les différents types de carrosseries de la BDD.
Donc pour ceci il n'y a plus de problèmes et je vous remercie.
Pour ce qui est de lier les listes que pensez-vous de la fonction onchange (que je ne connais pas d'ailleurs).
Pour la méthode avec AJAX, où puis-je trouver un tutoriel où des infos ?
Merci encore.
J'ai essayé le " distinct * " et cela ne marche pas.
Par contre, je l'ai remplacé par " distinct carrosserie", et là il m'affiche bien juste les différents types de carrosseries de la BDD.
Donc pour ceci il n'y a plus de problèmes et je vous remercie.
Pour ce qui est de lier les listes que pensez-vous de la fonction onchange (que je ne connais pas d'ailleurs).
Pour la méthode avec AJAX, où puis-je trouver un tutoriel où des infos ?
Merci encore.