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

Langage PHP Discussion :

Liste deroulant dynamique


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 123
    Points : 52
    Points
    52
    Par défaut Liste deroulant dynamique
    hello, je veux creer un menu deroulant dynamique en fonction d'une BDD.
    et j'ai un probleme quand je click sur ce menu il lance la fonction "creat_menu_2". le menu refraiche et j'ai perdu ce que j'avais selectionner.

    alors ma question est, malgré"form1.submit();" comment retrouver l'item de menu selectionner precedanment?

    merci



    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
     
    <html>
    <head>
    <SCRIPT LANGUAGE="JavaScript">
    function creat_menu_2(champ)
    {
    	if(champ.selectedIndex>0)
     {
      form1.submit();
     }
     
    }
    </SCRIPT>
    </head>
    <BODY onresize="">
    <FORM Method=POST NAME="form1">
    <?
    $connect = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PWD);
    mysql_select_db(MYSQL_BDD, $connect); //On sélectionne la base de données
    $tables = mysql_query("Select ID_Unit from t_unit;");
     
    echo "<SELECT NAME='menu' width='30px' onChange='creat_menu_2(this)'>\n";
     
    while($tables_array = mysql_fetch_row($tables))
    {
    	echo $tables_array[0];
    	echo '<option value="'.$tables_array[0].'">'.$tables_array[0].'</option>'; 
    }
    echo "</SELECT>"; 
    ?>
    </FORM>
    </BODY>
    </html>

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2004
    Messages : 138
    Points : 125
    Points
    125
    Par défaut
    la variable "menu" en POST envoyé sur la nouvelle page contient la valeur de ton choix...

  3. #3
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    Citation Envoyé par Shiftane
    la variable "menu" en POST envoyé sur la nouvelle page contient la valeur de ton choix...
    comme le dit Shiftane. Puis apres lorsque ta page est rechargee, tu fais un test sur la variable$_POST['menu']. Si elle est egale a l'option =><option value='ta valeur' SELECTED>
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 123
    Points : 52
    Points
    52
    Par défaut
    cool merci,ca marche
    mais j'ai un autre petit probleme.
    j'ai 3 menu en tout.
    menu 1 declenche le menu 2 et le menu 2 declenche le menu 3.
    le probleme est quand je selectionne le menu 1, ca cree le menu 2, mais le menu 3 rest null.
    je suis obliger de fait un submit() manuellement pour que la selectionne de menu 2 soit pris en compt et géné le menu 3.

    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
     
    <html> 
    <head> 
    <SCRIPT LANGUAGE="JavaScript"> 
    function creat_menu(champ) 
    { 
    		for(i=0;i<document.getElementById('menu_2').length;i++)
    		{
    			document.getElementById('menu_2').options[i] =null;
    		}
    		form1.submit();
    } 
    function creat_menu_2(champ) 
    { 
     
    		form1.submit();
    } 
    </SCRIPT> 
    </head> 
    <BODY onresize=""> 
    <FORM Method=POST NAME="form1"> 
     
    <? 
    Define("MYSQL_HOST", "localhost");
    Define("MYSQL_USER", "root");
    Define("MYSQL_PWD", "");
    Define("MYSQL_BDD", "db_mag");  
    $connect = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PWD); 
    mysql_select_db(MYSQL_BDD, $connect); //On sélectionne la base de données 
    $tables = mysql_query("Select ID_Unit from t_unit;"); 
     
    echo "<SELECT NAME='menu' width='30px' onChange='creat_menu(this)'>\n"; 
     
    while($tables_array = mysql_fetch_row($tables)) 
    { 
    	echo $tables_array[0]; 
    	if($tables_array[0]==$_POST["menu"])
    	{
    		echo '<option value="'.$tables_array[0].'" selected>'.$tables_array[0].'</option>'; 
    	}
    	else
    	{
    		echo '<option value="'.$tables_array[0].'">'.$tables_array[0].'</option>'; 
    	}
    } 
    echo "</SELECT>"; 
     
     
    if(!empty($_POST["menu"])) 
    { 
    	echo $_POST["menu"]; 
    	//$connect = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PWD);
    	mysql_select_db(MYSQL_BDD, $connect); //On sélectionne la base de données
    	$sql="Select ID_Essai from t_essai where ID_Unit='".$_POST["menu"]."'";
    	$tables_2 = mysql_query($sql); 
    	echo "<SELECT name='menu_2' width='30px' onChange='creat_menu_2(this)'>\n";
     
    	while($tables_array_2 = mysql_fetch_row($tables_2))
     	{
    		echo $tables_array_2[0];
    		if($tables_array_2[0]==$_POST["menu_2"])
    		{
    			echo '<option value="'.$tables_array_2[0].'" selected>'.$tables_array_2[0].'</option>'; 
    		}
    		else
    		{
    			echo '<option value="'.$tables_array_2[0].'">'.$tables_array_2[0].'</option>'; 
    		}
     
    	}
    	echo "</SELECT>"; 
    }
    else
    {
    	echo "<SELECT name='menu_2' width='30px' onChange='creat_menu_2(this)'>\n";
    	echo "</SELECT>"; 
    }
     
    if(!empty($_POST["menu_2"])) 
    {  
    	echo $_POST["menu_2"]; 
    	mysql_select_db(MYSQL_BDD, $connect); //On sélectionne la base de données
    	$sql="Select Chemin_Video from t_video where  ID_Essai='".$_POST["menu_2"]."'";
    	$tables_3 = mysql_query($sql); 
     
    	echo "<SELECT name='menu_3' width='30px' onChange=''>\n";
     
    	while($tables_array_3 = mysql_fetch_row($tables_3))
    	{
    		echo $tables_array_3[0];
    		echo '<option value="'.$tables_array_3[0].'">'.$tables_array_3[0].'</option>'; 
    	}
     
    	echo "</SELECT>"; 
    }
    else
    {
    	echo "<SELECT name='menu_3' width='30px' onChange=''>\n";
    	echo "</SELECT>"; 
    }
     
    mysql_close($connect);
    ?> 
    <input type="submit" class="submit" value="ok" />
     
    </FORM> 
    </BODY> 
    </html>

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Pareil, j'ai le même problème avec une programamtion voisine.
    En plus du test "echo", j'en ai rajouté un sur le résultat de la requete.
    Les 2 sont positifs : la variable est bien reprise, et la requete enregistre un résultat. mais rien n'est affiché !! Si quelqu'un a trouvé la solution...

Discussions similaires

  1. Liste déroulante dynamique
    Par Screw16 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/10/2005, 20h37
  2. [HTML] liste déroulante dynamique
    Par lacousinee dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 04/08/2005, 20h51
  3. Liste déroulante dynamique ?
    Par Regis.C dans le forum Composants
    Réponses: 5
    Dernier message: 29/06/2005, 12h09
  4. [FORMULAIRE] Liste déroulante dynamique
    Par bchristo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/01/2005, 10h07
  5. [JSP]Problème liste deroulante dynamique
    Par besco dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 09/09/2004, 17h58

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