[Sujet] Posté le 02/03/2005 à 08:12 par Mike |   |
entrée code postal à relier avec l'entre ville, por limiter le choix et gagner en rapidite <TR><TD>Département souhaité: </TD><TD> <select name="Dep">; <?php /* Consultation de la base Departement */ $requete = "select * from Departement where 1 order by Departement"; $Resultat =mysql_query($requete);
if (!isset($RefVille)) $RefDepartement = 0; $Num = 0; // permet de tester le premier élément while($donnees = mysql_fetch_object($Resultat)) { ($Num==$RefDepartement)? print("<OPTION VALUE=\"".$donnees->RefDepartement."\" SELECTED>\n" : print("<OPTION VALUE=\"".$donnees->RefDepartement."\" >\n" ; $RefDepartementP=$RefDepartement; print($donnees->Departement."</OPTION>\n" ; $Num ++; } $RefDepartementP=$RefDepartement; ?> </select> <br> <TR><TD>Ville souhaitée: </TD><TD> <select name="VilleEchange">; <?php /* Consultation de la base ville */ $requete = "select * from ville where RefDepartement=$RefDepartementP order by Ville"; $Resultat =mysql_query($requete); if (!isset($RefVille)) $RefVille = 0; $Num = 0; // permet de tester le premier élément while($donnees = mysql_fetch_object($Resultat)) { ($Num==$RefVille)? print("<OPTION VALUE=\"".$donnees->RefVille."\" SELECTED>\n" : print("<OPTION VALUE=\"".$donnees->RefVille."\" >\n" ; print($donnees->Ville."</OPTION>\n" ; $Num ++; } ?> </select>
Mike
|
[Répondre à ce message] [Réponses : 1 2 3 ] | [haut de la page] |
[1/3] Posté le 03/04/2005 à 16:12 par claude |   |
Mike,
> entrée code postal à relier avec l'entre ville, por limiter le choix et > gagner en rapidite > <TR><TD>Département souhaité: </TD><TD> <select name="Dep">; > <?php /* Consultation de la base Departement */ > > $requete = "select * from Departement where 1 order by Departement"; > $Resultat =mysql_query($requete); > > if (!isset($RefVille)) $RefDepartement = 0; > $Num = 0; // permet de tester le premier élément > while($donnees = mysql_fetch_object($Resultat)) > { > ($Num==$RefDepartement)? > print("<OPTION VALUE=\"".$donnees->RefDepartement."\" SELECTED>\n" > : > print("<OPTION VALUE=\"".$donnees->RefDepartement."\" >\n" ; > $RefDepartementP=$RefDepartement; > print($donnees->Departement."</OPTION>\n" ; > $Num ++; > } > $RefDepartementP=$RefDepartement; > ?> > </select> > <br> > <TR><TD>Ville souhaitée: </TD><TD> <select > name="VilleEchange">; > <?php /* Consultation de la base ville */ > $requete = "select * from ville where RefDepartement=$RefDepartementP order > by Ville"; > $Resultat =mysql_query($requete); > if (!isset($RefVille)) $RefVille = 0; > $Num = 0; // permet de tester le premier élément > while($donnees = mysql_fetch_object($Resultat)) > { > ($Num==$RefVille)? > print("<OPTION VALUE=\"".$donnees->RefVille."\" SELECTED>\n" > : > print("<OPTION VALUE=\"".$donnees->RefVille."\" >\n" ; > print($donnees->Ville."</OPTION>\n" ; > $Num ++; > } > ?> > </select> > > Mike >
claude
|
[Répondre à ce message] | [haut de la page] |
[2/3] Posté le 03/04/2005 à 16:19 par claude |   |
Bonjour je vous invite à allez consulter mon site http://cnx.claude.free.fr
choisir dans le menu sur la gauche la rubrique formulaire puis dans le menu déroulant "liste dépendante" puis "listes déroulantes lièes à SQL" en principe ceci devrait vous permettre de résoudre le problème si j'ai bien compris ces cas traitent de 2 listes déroulantes le contenu de la première fait varier celui de la seconde ainsi si la première contient le département 75 la seconde affichera seulement les villes de ce département et ainsi de suite pour chaque département Dans le second exemples les données proviennent d'une table MySQL et fonctionne à l'identique vous pouvez aussi me contacter à cnx.claude@free.fr
|
[Répondre à ce message] | [haut de la page] |
[3/3] Posté le 24/05/2005 à 05:13 par gratou |    |
c mieux de gerer ca par javascript a mon avis. ca evite les allers-retours avec le serveur.
le javascript est rempli avec les donnees mysql un fois, et ensuite, tout se passe localement. voir www.anewplace.co.nz/search.php pour un exemple (piqué sur le web) a 3 niveaux.
gratou
|
[Répondre à ce message] | [haut de la page] |