Listes deroulantes avec choix influent sur autres listes!!
zigzou
Messages postés8Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention29 juin 2004
-
28 juin 2004 à 17:59
mbvitse
Messages postés9Date d'inscriptiondimanche 5 novembre 2000StatutMembreDernière intervention 7 avril 2005
-
8 mars 2005 à 09:17
Voila je suis nouveau dans la communauté du javascript! :/
Et g un petit problème:
Dans une de mes tables (mySQL) j'effectue une requete pour connaitre le contenu d'une liste deroulante.
J'aimerais que, lorsque l'utilisateur est fait son choix dans la premiere liste, le contenu de la seconde liste déroulante change en fonction de ce choix (contenu également dans une BDD). Le problème c'est qu'avec un bouton submit je ne recupere pas le premier choix influent sur le second :'( !!!
Je vous montre mon code actuel (sans javascript car mes tests furent non concluant!):
$famille = mysql_query("SELECT DISTINCT nomfamille, idfamille FROM ssousfamilles;");
$nomfamille=array();
$numfam=array();
Si jamais vous ne comprenez pas ce que je souhaite n'hésitez pas a me demander de reformuler!!! ;)
(concretement: je fais une requete pour faire le contenu de la premiere liste, je souhaite recuperer le choix ici $$numfam[$z1] pour ensuite recuperer en fonction de ce choix le contenu d'une autre liste :p )
Merci d'avance pour le coup de main car ca fait un bail que je suis coincé, google a beau etre sympas il m'a pas suffisament aidé la dessu :'(......
A voir également:
Listes deroulantes avec choix influent sur autres listes!!
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 29 juin 2004 à 11:51
[Bonjour, br une recherche sur ce forum aurait sûrement br permis d avoir une réponse. nombreux br exemples, questions/réponses ... sur ce sujet. br un exemple : br [url= br http://marcel-bultez.chez.tiscali.fr/documents/PHP/PHP.php cliquer ici]
Cordialement Bul. [Site] [[mailto:marcel.Bultez@Tiscali.fr Mail]]
zigzou
Messages postés8Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention29 juin 2004 29 juin 2004 à 15:10
Bon bah gros pb!
J'ai testé ton code il marche nicquel avec mes modifs (mes requetes... )
Et la premiere partie s'affiche bien, la page s'actualise mais la seconde liste ne se remplit pas!!! :'(
(de plus je te l'ai pas dis mais y en a une troisieme qui depend de la seconde mais ca je verrais plus tard!!!!):
Donc voila les modiffs:
<?php
//=====================================
//== ouverture de la base de données
//=====================================
$co=mysql_connect("localhost","root","");
$dbnom="MD2i";
$db=mysql_select_db($dbnom,$co);
$res=mysql_query("SELECT DISTINCT nomfamille, idfamille FROM ssousfamilles;");
$max=@mysql_num_rows($res);
?>
<script type="text/javascript">
function appel()
{ location.href="test.php?tbl2="+tb1.options[tb1.selectedIndex].text; }
//========================================
//== rappel de la page en passant en paramètre
//== la ligne cliquée dans table 1
//========================================
</script>
<select name="tb1" size=1
onchange='appel();'><?
for ($nb=0;$nb<$max;$nb++)
{ $i=mysql_result($res,$nb,'nomfamille');
?><option><?echo $i; }
?></select><?
if (isset($_GET["tbl2"]))
{ //=======================================
//== si tbl2 est défini, c'est qu'on a
//== cliqué sur une ligne de table 1
//=======================================
$rch="WHERE nomfamille='".$_GET["tbl2"]."'";
$choix = $_GET["tbl2"];
$res=mysql_query("SELECT DISTINCT idsfamille, nomsfamille FROM ssousfamilles".$rch,$co);
$max=@mysql_num_rows($res);
//========================================
//== on affiche donc dans un select la TABLE 2
//========================================
?><select name="tb2" size=1><?
for ($nb=0;$nb<$max;$nb++)
{ $i=mysql_result($res,$nb,"nomsfamille");
?><option><?echo $i; }
?></select><? }
mysql_close($co);
?>
Les champs de ma table sont : idfamille ; idsfamille ; idssfamille ; nomfamille ; nomsfamille ; nomssfamille.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 29 juin 2004 à 15:29
[ y a pas de raisons , sauf mauvais select, br tables .... br u mon exemple marche-t-il lui ? /u br chez moi pas de pb br faire un pas à pas , contrôler le code généré ... br table border=0 cellspacing=0 cellpadding=4 bgcolor=#E0E0E0 tr td class=code br $rch= WHERE nomfamille= .$_GET[ tbl2 y a pas de raisons , sauf mauvais select, br tables .... br u mon exemple marche-t-il lui ? /u br chez moi pas de pb br faire un pas à pas , contrôler le code généré ... br table border=0 cellspacing=0 cellpadding=4 bgcolor=#E0E0E0 tr td class=code br $rch= WHERE nomfamille= .$_GET[ tbl2]."'";
zigzou
Messages postés8Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention29 juin 2004 29 juin 2004 à 15:34
Bah je veux bien k il y est une erreur de select ou quoi que ce soit!!
Mais mon dernier test c'etait juste un changement de requete et de connexion a ma base avec ton code! Donc a mon avis le pb vient d'ailleurs (X-Files... o_O)!
Si tu pouvais me filer un chtit coup de main ce serait agréable (allez juste un peu de ton temps.... =) )
Sinon la je continue a faire des tests ( pas tres concluant donc je vais continuer... mais je risque de sauter par la fenetre un de ces 4!)
zigzou
Messages postés8Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention29 juin 2004 29 juin 2004 à 17:07
C bon j'ai reussi !!!!! :D
La seconde liste depend de la seconde!!
Mais g un dernier soucis la troisieme liste ne depend pas de la troisième...
Voici mon code si tu peux analysé la ou ca peche pour la troisieme liste ce serait vraiment super sympas!!! ;)
<?php
//===================================== //ouverture de la base de données //=====================================
mysql_connect("localhost","root","");
mysql_select_db("MD2i");
$famille = mysql_query("SELECT DISTINCT nomfamille, idfamille FROM ssousfamilles;");
?>
<script type="text/javascript">
function appel()
{ location.href="test2.php?tbl2="+tb1.options[tb1.selectedIndex].text; }
//=============================================== //rappel de la page en passant en paramètre //la ligne cliquée dans table 1 //===============================================
</script>
<select name="tb1" size=1
onchange='appel();'><?
if (isset($_GET["tbl2"]))
{ //======================================= //si tbl2 est défini, c'est qu'on a //cliqué sur une ligne de table 1 //=======================================
//$rch="WHERE nomfamille='".$_GET["tbl2"]."'";
$choix = $_GET["tbl2"];
echo ''.$choix.'
';
//$res=mysql_query("SELECT DISTINCT idsfamille, nomsfamille FROM ssousfamilles".$rch);
$sfamille = mysql_query("SELECT DISTINCT idsfamille, nomsfamille FROM ssousfamilles WHERE nomfamille='".$choix."'");
//=============================================== //on affiche donc dans un select la TABLE 2 //===============================================
?><select name="tb2" size=1><?