IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Menu deroulant en Java


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 54
    Par défaut Menu deroulant en Java
    Bonjour voila je doit lier 2 menu deroulant. Ces menu contienne des donnée qui sont répertorier dans une base de donnée. Lorsque je click sur une donné du premier menu deroulant je souhaiterais avoir dans le 2nd menu les donnée qui sont en rapport avec la première donné choisi. Exemple si je choisi "Imprimante" dans le premier menu , j'aimerais avoir " Jet d'encre" , "laser"... et nn pas tous les Sous famille des autres Famille. N'hésiter pas a demander des précision. Merci

    Voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    <script langage="JavaScript">
    function Choix(form){
    var txt=new Array();
    var txt_nb=new Array();
     
    i = form.Glob.selectedIndex;
    if (i==0){
    	return;
    	}
    <?php
     
    mysql_connect("localhost", "root", ""); // Connexion à MySQL
    mysql_select_db("rs"); // Sélection de la base rs
     
     
    $res1 = mysql_query("SELECT DISTINCT Nomfamille FROM famille");
    $cpt_glob=0;
    while($row1= mysql_fetch_assoc($res1)){
    	$cpt_glob++;
    	$sel = mysql_query("SELECT DISTINCT NomSousFamille FROM sousfamille where NomSousFamille='".$row1["NomFamille"]."' ORDER BY 1") or die(mysql_error());
    	$cp=0;
    	while($sel1 = mysql_fetch_assoc($sel)){
    		$cp++;
    		if ($cp==1) echo "txt[".$cpt_glob."]=new Array();";
    		echo "txt[".$cpt_glob."][".$cp."]='".$sel1["NomFamille"]."';";
    		#echo "<option value='".$sel1["NomFamille"]."'>".$sel["NomFamille"]."</option>";	
    	}
    	echo "txt_nb[".$cpt_glob."]=".$cp.";";
    }
     
     
    ?>
     
    form.Type.options.length = 0;
    form.Type.selectedIndex = 0 ;
     
    form.Type.options[0]=new Option("--Choix--",0);
    for(c=1;c<=txt_nb[i];c++) {
    	form.Type.options[c]=new Option(txt[i][c],c);
    	}
    }
    </script>
    	<form>
    		<fieldset style="width: 800px">
    			<legend>Liste liées</legend>
     
    			<label>Famille</label>
    			<select name="famille" onChange='Choix(this.form)'>  
    			<option>--Choix --</option>
    			<?php
    			mysql_connect("localhost", "root", ""); // Connexion à MySQL
    			mysql_select_db("rs"); // Sélection de la base rs
     
    			 $res = mysql_query("SELECT DISTINCT NomFamille FROM famille");
    						while($row = mysql_fetch_assoc($res)){
    							echo "<option value='".$row["NomFamille"]."'>".$row["NomFamille"]."</option>";
    						}
    			?>
    			</select>
     
    			<label>Sous Famille</label>			
    			<select name="sousfamille">
    			<option>--Choix--</option>
    			<?php
    			mysql_connect("localhost", "root", ""); // Connexion à MySQL
    			mysql_select_db("rs"); // Sélection de la base rs
     
    			$sel = mysql_query("SELECT DISTINCT NomSousFamille FROM sousfamille where NomSousFamille='".$row2["NomFamille"]."' ORDER BY 1") or die(mysql_error());
    						$cp=0;
    						while($sel1 = mysql_fetch_assoc($sel)){
    						$cp++;
    						if ($cp==1) echo "txt[".$cpt_glob."]=new Array();";
    						echo "txt[".$cpt_glob."][".$cp."]='".$sel1["NomSousFamille"]."';";
    							echo "<option value='".$sel1["NomSousFamille"]."'>".$sel1["NomSousFamille"]."</option>";
    						}
    			?>
    			</select>
    		</fieldset>
    	</form>
    </tr></table>

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut Pareil
    Citation Envoyé par Jerem38 Voir le message
    Besoin d'aide
    Je cherche désespérement à faire le lien entre deux menu déroulants en JavaScript (si possible). Concrètement si je renseigne, par exemple, une marque du genre Renault comment faire pour l'autre menu déroulant ne me sorte pas tous les modeles de toutes les marques mais bien ceux de Renault (megane etc...)...Help please!!!

  3. #3
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 54
    Par défaut
    On dirait qu'on a le même problème... Tu travaille bien avec une BD aussi ?

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Salut,

    H.S. : avec les balises CODE (bouton #) c'est tellement plus facile à lire

    M'est avis qu'il s'agit d'un problème de PHP (pas de javascript) mais je peux me tromper...

    Peux-tu nous fournir le code généré (les sources dans ton navigateur) pas ton code source PHP ?

  5. #5
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 54
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <script langage="JavaScript">
    function Choix(form){
    var txt=new Array();
    var txt_nb=new Array();
     
    i = form.Glob.selectedIndex;
    if (i==0){
    	return;
    	}
    <br />
    <b>Notice</b>:  Undefined index:  NomFamille in <b>D:\wamp\www\Stage\Produit.php</b> on line <b>43</b><br />
    txt_nb[1]=0;<br />
    <b>Notice</b>:  Undefined index:  NomFamille in <b>D:\wamp\www\Stage\Produit.php</b> on line <b>43</b><br />
    txt_nb[2]=0;<br />
    <b>Notice</b>:  Undefined index:  NomFamille in <b>D:\wamp\www\Stage\Produit.php</b> on line <b>43</b><br />
    txt_nb[3]=0;<br />
    <b>Notice</b>:  Undefined index:  NomFamille in <b>D:\wamp\www\Stage\Produit.php</b> on line <b>43</b><br />
    txt_nb[4]=0;<br />
    <b>Notice</b>:  Undefined index:  NomFamille in <b>D:\wamp\www\Stage\Produit.php</b> on line <b>43</b><br />
    txt_nb[5]=0; 
    form.Type.options.length = 0;
    form.Type.selectedIndex = 0 ;
     
    form.Type.options[0]=new Option("--Choix--",0);
    for(c=1;c<=txt_nb[i];c++) {
    	form.Type.options[c]=new Option(txt[i][c],c);
    	}
    }
    </script>
    	<form>
    		<fieldset style="width: 800px">
    			<legend>Liste liées</legend>
     
    			<label>Materiel</label>
    			<select name="famille" onChange='Choix(this.form)'>  
    			<option>--Choix --</option>
     
    			<option value='Boitiers'>Boitiers</option><option value='Cartes Meres'>Cartes Meres</option><option value='Claviers Souris'>Claviers Souris</option><option value='Imprimantes'>Imprimantes</option><option value='Logiciels'>Logiciels</option>			</select>
     
    			<label>Type</label>			
    			<select name="sousfamille">
    			<option>--Choix--</option>
    			<br />
     
    <b>Notice</b>:  Undefined variable: row2 in <b>D:\wamp\www\Stage\Produit.php</b> on line <b>91</b><br />
    			</select>
    		</fieldset>
    	</form>
    </tr></table>
    J'pense que c'est ça que tu veut... a oé jvoit mieux mes fautes lol enfin c'est pas pour autant que j'arrive à les réparer^^....

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Allez, je vais être gentil mais tu ne fais pas beaucoup d'effort pour nous simplifier la vie...

    Tu as des erreur de génération de ta page => PHP ou MySQL

    Tu écris : (En passant, c'est ça la balise CODE )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT DISTINCT NomSousFamille FROM sousfamille where NomSousFamille='".$row1["NomFamille"]."' ORDER BY 1"
    J'ai mis en rouge ce qu'il me semble correspondre à ton message d'erreur PHP.
    J'ai mis en rouge gras ce qu'il me semble qui va te poser problème ensuite car si tu as déjà NomSousFamille pourquoi faire une requête pour le récupérer

  7. #7
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 54
    Par défaut
    merci. Jver essayer sa jte tien o couran. Dsl je debute en dvp :p

  8. #8
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 54
    Par défaut
    J'ai toujours le même problème ...

  9. #9
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Citation Envoyé par Jerem38 Voir le message
    J'ai toujours le même problème ...
    Alors peut-être que le pb vient de là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT Nomfamille FROM famille
    Ici f minuscule à Nomfamille et $row1["NomFamille"] avec F majuscule...

    Encore une fois, le pb est purement PHP (=> message à délester ?)

  10. #10
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 54
    Par défaut
    merci. mais une erreur ligne 48 persiste:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    <script langage="JavaScript">
    function Choix(form){
    var txt=new Array();
    var txt_nb=new Array();
     
    i = form.Glob.selectedIndex;
    if (i==0){
    	return;
    	}
    <?php
     
    mysql_connect("localhost", "root", ""); // Connexion à MySQL
    mysql_select_db("rs"); // Sélection de la base rs
    
    
    $res1 = mysql_query("SELECT DISTINCT NomFamille FROM famille");
    $cpt_glob=0;
    while($row1= mysql_fetch_assoc($res1)){
    	$cpt_glob++;
    	$sel = mysql_query("SELECT NomSousFamille FROM sousfamille where NomFamille='".$row1["NomFamille"]."' ORDER BY 1") or die(mysql_error());
    	$cp=0;
    	while($sel1 = mysql_fetch_assoc($sel)){
    		$cp++;
    		if ($cp==1) echo "txt[".$cpt_glob."]=new Array();";
    		echo "txt[".$cpt_glob."][".$cp."]='".$sel1["NomSousFamille"]."';";
    		#echo "<option value='".$sel1["NomSousFamille"]."'>".$sel1["NomSousFamille"]."</option>";	
    	}
    	echo "txt_nb[".$cpt_glob."]=".$cp.";";
    }
     
     
    ?>
     
    form.Type.options.length = 0;
    form.Type.selectedIndex = 0 ;
     
    form.Type.options[0]=new Option("--Choix--",0);
    for(c=1;c<=txt_nb[i];c++) {
    	form.Type.options[c]=new Option(txt[i][c],c);
    	}
    }
    </script>
    	<form>
    		<fieldset style="width: 800px">
    			<legend>Liste liées</legend>
    			
    			<label>Famille</label>
    			<select name="famille" onChange='Choix(this.form)'>  
    			<option>--Choix --</option>
    			<?php
    			mysql_connect("localhost", "root", ""); // Connexion à MySQL
    			mysql_select_db("rs"); // Sélection de la base rs
    			
    			 $res = mysql_query("SELECT DISTINCT NomFamille FROM famille");
    						while($row = mysql_fetch_assoc($res)){
    							echo "<option value='".$row["NomFamille"]."'>".$row["NomFamille"]."</option>";
    						}
    			?>
    			</select>
    		
    			<label>Sous Famille</label>			
    			<select name="sousfamille">
    			<option>--Choix--</option>
    			<?php
    			mysql_connect("localhost", "root", ""); // Connexion à MySQL
    			mysql_select_db("rs"); // Sélection de la base rs
    			
    			
    			echo "<option value='".$sel["NomFamille"]."'>".$sel["NomFamille"]."</option>";
    						
    			?>
    			</select>
    		</fieldset>
    	</form>
    </tr></table>

  11. #11
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Encore une fois regarde le code HTML généré

    Dans le cas précédent, tu avais d'autres problèmes que le message d'erreur...

    Comme le mélange de code Javascript et Html dans ta balise <script>

    Ton résultat n'est pas bon au niveau HTML... Essaye de prendre le temps de résoudre ceci, peut-être que ce la ira mieux ensuite

  12. #12
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 54
    Par défaut
    Le problème est que je ne voit pas l'erreur dans le code HTML ....

  13. #13
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Citation Envoyé par Jerem38 Voir le message
    Le problème est que je ne voit pas l'erreur dans le code HTML ....
    Juste un petit extrait pour illustrer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <script langage="JavaScript"> // ouverture d'un bloc script suivi du code de ta fonction...
    function Choix(form){
    var txt=new Array();
    var txt_nb=new Array();
     
    i = form.Glob.selectedIndex;
    if (i==0){
    	return;
    	}
    // :aie: En plein milieu de ton code javascript il y a du code HTML :aie:
    <br /> 
    <b>Notice</b>
    
    ...
    
    // puis à nouveau du code javascript et la fermeture de section de script (balise script)
    txt_nb[5]=0; 
    form.Type.options.length = 0;
    form.Type.selectedIndex = 0 ;
     
    form.Type.options[0]=new Option("--Choix--",0);
    for(c=1;c<=txt_nb[i];c++) {
    	form.Type.options[c]=new Option(txt[i][c],c);
    	}
    }
    </script>

  14. #14
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 54
    Par défaut
    J'ai mit a l'écart mon code Java .... mais la où je suis perdu c dans le script... j'voit pas ce qui cloche dans mes requête.

  15. #15
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Etant donné que tu as déjà corrigé un certain nombre de choses serait-il possible d'avoir le "nouveau" source html généré ? (sinon on ne va pas avancer car je crois que le contenu html dans le script dont je parle correspond aux messages de l'erreur déjà corrigée)

  16. #16
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 54
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <html lang="fr" xml:lang="fr">
     
    	<head>
    		<title> Crystal System </title>
    		<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
    		<meta name="generator" content="Adobe GoLive 6">
    		<script langage="JavaScript">
    function Choix(form){
    var txt=new Array();
    var txt_nb=new Array();
     
    i = form.Glob.selectedIndex;
    if (i==0){
    	return;
    	}
    txt[1]=new Array();txt[1][1]='accessoires';txt[1][2]='alimentations';txt_nb[1]=2;txt[2]=new Array();txt[2][1]='AM2';txt[2][2]='AM3';txt_nb[2]=2;txt[3]=new Array();txt[3][1]='filaire';txt[3][2]='sans Fil';txt_nb[3]=2;txt[4]=new Array();txt[4][1]='jet d'encre';txt[4][2]='linéaire';txt_nb[4]=2;txt[5]=new Array();txt[5][1]='adobe';txt[5][2]='corel';txt_nb[5]=2; 
    form.Type.options.length = 0;
    form.Type.selectedIndex = 0 ;
     
    form.Type.options[0]=new Option("--Choix--",0);
    for(c=1;c<=txt_nb[i];c++) {
    	form.Type.options[c]=new Option(txt[i][c],c);
    	}
    }
     
    </script>
    	</head>
     
    	<body title="Site Crystal System" bgcolor="#ffffff">
    		<div align="center">
    			<h2><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular">Bienvenue Chez Crystal System</font></h2>
    			<h2></h2>
    		</div>
    		<div align="left">
     
    			<h2><i><font size="3">Voici la liste des produits :</font></i></h2>
    		</div>
     
     
     
     
    	<form>
    		<fieldset style="width: 800px">
    			<legend>Liste liées</legend>
     
    			<label>Famille</label>
    			<select name="famille" onChange='Choix(this.form)'>  
    			<option>--Choix --</option>
     
    			<option value='Boitiers'>Boitiers</option><option value='Cartes Meres'>Cartes Meres</option><option value='Claviers Souris'>Claviers Souris</option><option value='Imprimantes'>Imprimantes</option><option value='Logiciels'>Logiciels</option>			</select>
     
    			<label>Sous Famille</label>			
    			<select name="sousfamille">
    			<option>--Choix--</option>
    						</select>
     
    		</fieldset>
    	</form>
    </tr></table>
    </body>
    </html>

  17. #17
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Aha ! Regardes un peu la ligne de déclaration de tes tableaux

    Il y a un problème lorsque ton libellé contient une apostrophe " ' " (comme dans 'jet d'encre')

  18. #18
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 54
    Par défaut
    Bon ben si les " ' " gène jl'ai ai viré lol. J'vais voir ce que ça donne

  19. #19
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Citation Envoyé par Jerem38 Voir le message
    Bon ben si les " ' " gène jl'ai ai viré lol. J'vais voir ce que ça donne
    il faut les "encoder" pour ne pas avoir de problème (\' au lieu de ' tout seul)

  20. #20
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 54
    Par défaut
    Ok. Mais mon problème persiste tjrs... mon 2nd Menu ne me donne pas de résultat.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. lien pour les menu deroulants en java script
    Par nita2006 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/04/2007, 11h10
  2. Menu deroulant en JAVA pour le web
    Par sparrow dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 06/01/2006, 18h36
  3. [CSS-Javascript] Menu déroulant
    Par JeromeR dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 21/10/2004, 17h07
  4. [VBA-E] Barre d'outils et menu déroulants
    Par Tcmat dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/08/2004, 21h51
  5. [LG]Menu déroulant sous Pascal
    Par Apprenti Sorcier dans le forum Langage
    Réponses: 8
    Dernier message: 26/03/2004, 13h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo