Liste deroulante liées [Résolu]

Messages postés
10
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
6 mai 2009
- - Dernière réponse : cs_neosquall
Messages postés
10
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
6 mai 2009
- 5 mai 2009 à 14:30
Bonjour a tous et merci pour les tuto


voila mon probleme, je sais qu'il y a beaucoup de tuto sur le sujet et
beaucoup de solution apporté mais je n'ai pas réussi a m'en sortir.
J'ai commencer le php ... hier soir et je suis un peu perdu je dois
bien l'avouer.

Voila je dois faire une petite gestion de parc automobile, j'ai donc
créer une bdd simple (une table lol) et je voudrais faire un moteur de
recherche un peu a la maniere de celui de lacentrale pour ceux qui
connaisse, le truc c'est que mes liste deroulante prennent les infos
dans la base de donnée et j'aimerai pouvoir faire en sorte que qd je
choisi "audi" ou "peugeot" dans la premiere liste cela limite les
autres (j'ai 3 listes deroulantes : marque, modele et energie) en gros
si je prend audi je voudrais que dans la liste modele il n'apparaisse
que les audi :).

De plus je dois aussi faire une selection en fonction du prix et du
kilometrage et une fois ttes les donnée remplis on clique sur un bouton
pour qu'un tableau apparaisse avec les donnée choisis. pfffff je c que
ca fait beaucoup mais je dois rendre ce test pour demain et je galere
vraiment vous etes mon ultime espoir.


voila le code qui me permet d'avoir les liste deroulante (il est peu etre faut mais en tout cas il m'affiche bien les données )

<html>

<?php

$connect=mysql_connect('localhost','greg','')ordie("erreur de connexion");
mysql_select_db('gestcar',$connect)ordie("erreur de connexion base");

$query=mysql_query("SELECT marque FROM vehicules GROUP BY marque");

echo'<select>';
while($result=mysql_fetch_assoc($query)){
echo'<option value="'.$result['marque'].'">'.$result['marque'].'</option>';

}

$query=mysql_query("SELECT modele FROM vehicules GROUP BY modele");

echo'<select>';
while($result=mysql_fetch_assoc($query)){
echo'<option value="'.$result['modele'].'">'.$result['modele'].'</option>';

}

$query=mysql_query("SELECT energie FROM vehicules ");

echo'<select>';
while($result=mysql_fetch_assoc($query)){
echo'<option value="'.$result['energie'].'">'.$result['energie'].'</option>';

}

mysql_close($connect);

?>

</html>
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
106
Date d'inscription
vendredi 29 septembre 2006
Statut
Membre
Dernière intervention
6 mars 2012
3
Merci
2 solutions:
 - Soit tu utilises l'attribut HTML onchange="submit()" sur les "<select>"
 - Soit tu utilises de l'AJAX avec la bibliothèque "prototype" qui te suffira largement.

Exemple avec la première solution:

$connect=mysql_connect('localhost','greg','')ordie("erreur de connexion");
mysql_select_db('gestcar',$connect)ordie("erreur de connexion base");

$marques=mysql_query("SELECT marque FROM vehicules GROUP BY marque");

echo '<form action="#" method="get">';
echo '<select onchange="submit();" name="marque">';
while($result=mysql_fetch_assoc($marques)){
echo'<option value="'.$result['marque'].'">'.$result['marque'].'</option>';
}
echo '</select>';
echo '</form>';

//si tu as séléctionnés une marque, tu affiches ta liste déroulante des modèles associés à ta marque
if (isset($_GET['marque'])){
$modeles=mysql_query("SELECT modele FROM vehicules where marque='".$_GET['marque']."' GROUP BY modele");

echo'<select>';
while($result=mysql_fetch_assoc($modeles)){
echo'<option value="'.$result['modele'].'">'.$result['modele'].'</option>';

}
echo '</select>';
}else{
echo 'aucune marque sélectionnné';
}

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 136 internautes nous ont dit merci ce mois-ci

Commenter la réponse de alexflex25
Messages postés
10
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
6 mai 2009
0
Merci
la premiere solution marche du tonnere je te remercie c trop cool :)
Commenter la réponse de cs_neosquall
Messages postés
106
Date d'inscription
vendredi 29 septembre 2006
Statut
Membre
Dernière intervention
6 mars 2012
0
Merci
Dans ce cas accepte la réponse.
il n'y a pas de quoi.
@+
Commenter la réponse de alexflex25
Messages postés
10
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
6 mai 2009
0
Merci
oups lol je n'avais meme pas vue qu'on pouvai accepter les reponses :) voila qui est fait et encore merci
Commenter la réponse de cs_neosquall