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 :

Clic sur un élément selectionné d'un tableau et affichage


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Points : 103
    Points
    103
    Par défaut Clic sur un élément selectionné d'un tableau et affichage
    Bonjour,
    Quand je clique sur le tableau j'aimerez recuperer ma variable selectionné
    et l'afficher par un echo comment faut t'il faire ?
    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
    34
     
    <html>
    <SELECT NAME="tables" MULTIPLE SIZE="8">	
    <?php
    $conn = pg_pconnect("host=localhost port=5432 dbname=base  user=postgres password=postgres"); 
    if (!$conn) {
    echo "Une erreur s'est produite.\n";
    exit;
    }
     
    $resultat = pg_query($conn, "select distinct(relname)  from pg_attribute, pg_class, pg_namespace where 
    attnum>0 and attrelid=pg_class.oid and relnamespace=pg_namespace.oid and nspname ='msa'");
     
    $tableau = array();
     
    while($ligne = pg_fetch_assoc ($resultat))
    {
    	$tableau[] = $ligne;
    }
     
    ?>
     
    tables : <BR>
    <?php
    foreach ($tableau as $tab1)
    {
    	echo "<OPTION VALUE=\"$tab1[relname]\">
    	$tab1[relname]\n"; 
    } 
     
    ?>
    </SELECT>
    <br>
    </html>

  2. #2
    Membre éclairé Avatar de nsanabi
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2003
    Messages : 570
    Points : 678
    Points
    678
    Par défaut
    Quand je clique sur le tableau j'aimerez recuperer ma variable selectionné
    et l'afficher par un echo comment faut t'il faire ?
    -premièrement ce n'est pas un tableau que tu a là , c un menu <select>
    -secundo si tu veux afficher avec un echo tu doit envoyer un formulaire vers un script php qui recevra et renverra la donnée, un va et vient inutile je pense
    - en dernier tu sera amené à utiliser du javascript avec l'événement onchange
    donc autant faire le tout en javascript, puisque à ce que j'ai compris de ton post tu souhaite seulement afficher la valeur sélectionnée dans la liste, ainisi pas besoin de chercher quoi que ce soi sur le serveur :
    donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <SELECT NAME="tables" MULTIPLE SIZE="8" onchange="alert(this.value)">
    ou plus proprement tu ajoute une div où sera affiché ta donnée et tu fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div id="ici">
    <select onchange="document.getElementById('ici').innerHTML=this.value;">
    ....
     
    </div>

  3. #3
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Points : 103
    Points
    103
    Par défaut
    je te remercie ok pour ca cela marche
    <SELECT NAME="tables" MULTIPLE SIZE="8" onchange="alert(this.value)">

    j'aimerez recuperer mon parametre et le placer dans une variable globale

    genre comme ceci
    <SELECT NAME="tables" MULTIPLE SIZE="8" onchange="mafonction (this.value)">

    et puis
    function mafonction (x){
    $mavarGlobale=x;
    }

    merci pour ton aide






    Citation Envoyé par nsanabi Voir le message
    -premièrement ce n'est pas un tableau que tu a là , c un menu <select>
    -secundo si tu veux afficher avec un echo tu doit envoyer un formulaire vers un script php qui recevra et renverra la donnée, un va et vient inutile je pense
    - en dernier tu sera amené à utiliser du javascript avec l'événement onchange
    donc autant faire le tout en javascript, puisque à ce que j'ai compris de ton post tu souhaite seulement afficher la valeur sélectionnée dans la liste, ainisi pas besoin de chercher quoi que ce soi sur le serveur :
    donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <SELECT NAME="tables" MULTIPLE SIZE="8" onchange="alert(this.value)">
    ou plus proprement tu ajoute une div où sera affiché ta donnée et tu fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div id="ici">
    <select onchange="document.getElementById('ici').innerHTML=this.value;">
    ....
     
    </div>

  4. #4
    Membre éclairé Avatar de nsanabi
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2003
    Messages : 570
    Points : 678
    Points
    678
    Par défaut
    autant faire le tout en javascript, puisque à ce que j'ai compris de ton post tu souhaite seulement afficher la valeur sélectionnée dans la liste, ainisi pas besoin de chercher quoi que ce soi sur le serveur
    si tu veux utiliser l'info selectionnée dans ta liste dans un code php, la solution proposé en javascript ne te conviendrai pas
    tu devra :
    si tu veux afficher avec un echo tu doit envoyer un formulaire vers un script php qui recevra et renverra la donnée
    il faudra donc modifier ton code comme suit :
    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
     
    <?php
    $conn = pg_pconnect("host=localhost port=5432 dbname=base  user=postgres password=postgres"); 
    if (!$conn) {
    echo "Une erreur s'est produite.\n";
    exit;
    }
     
    $resultat = pg_query($conn, "select distinct(relname)  from pg_attribute, pg_class, pg_namespace where 
    attnum>0 and attrelid=pg_class.oid and relnamespace=pg_namespace.oid and nspname ='msa'");
     
    $tableau = array();
     
    while($ligne = pg_fetch_assoc ($resultat))
    {
    	$tableau[] = $ligne;
    }
     
    ?>
    <html>
    <form name="unform" action="<?$_SERVER['PHP_SELF'];?>" method="post">
    tables : <BR>
    <SELECT NAME="tables" MULTIPLE SIZE="8" onchange="document.unform.submit();">	
    <?php
    foreach ($tableau as $tab1)
    {
    	echo "<OPTION VALUE=\"$tab1[relname]\">
    	$tab1[relname]\n"; 
    } 
     
    ?>
    </SELECT>
    </FORM>
    <?php
    if(isset($_POST["tables"])){
         $tavariable=$_POST["tables"];
         echo $tavariable;
    }
    ?>
    <br>
    </html>
    j'espère t'avoir aidé

    question : pourquoi tu veux une variable en php?

  5. #5
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Points : 103
    Points
    103
    Par défaut salut
    Ok merci
    je te tiens au jus , pourquoi cette variable car apres
    je suis en train de creer une interface requetege facile pour les utilisateurs
    - choix de la table
    - choix du champ
    - choix du critere (egal > < )
    - saisie du champ
    bouton VAlid OK
    j'affiche le resultat dans un tableau
    et puis affichage du resultat dans un grid , j'en cherche
    un beau en javascript que j'ai pas encore trouvé
    puis apres il faudra que j'exporte ce tablea excel word pdf ...




    Citation Envoyé par nsanabi Voir le message
    si tu veux utiliser l'info selectionnée dans ta liste dans un code php, la solution proposé en javascript ne te conviendrai pas
    tu devra :

    il faudra donc modifier ton code comme suit :
    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
     
    <?php
    $conn = pg_pconnect("host=localhost port=5432 dbname=base  user=postgres password=postgres"); 
    if (!$conn) {
    echo "Une erreur s'est produite.\n";
    exit;
    }
     
    $resultat = pg_query($conn, "select distinct(relname)  from pg_attribute, pg_class, pg_namespace where 
    attnum>0 and attrelid=pg_class.oid and relnamespace=pg_namespace.oid and nspname ='msa'");
     
    $tableau = array();
     
    while($ligne = pg_fetch_assoc ($resultat))
    {
    	$tableau[] = $ligne;
    }
     
    ?>
    <html>
    <form name="unform" action="<?$_SERVER['PHP_SELF'];?>" method="post">
    tables : <BR>
    <SELECT NAME="tables" MULTIPLE SIZE="8" onchange="document.unform.submit();">	
    <?php
    foreach ($tableau as $tab1)
    {
    	echo "<OPTION VALUE=\"$tab1[relname]\">
    	$tab1[relname]\n"; 
    } 
     
    ?>
    </SELECT>
    </FORM>
    <?php
    if(isset($_POST["tables"])){
         $tavariable=$_POST["tables"];
         echo $tavariable;
    }
    ?>
    <br>
    </html>
    j'espère t'avoir aidé

    question : pourquoi tu veux une variable en php?

  6. #6
    Membre éclairé Avatar de nsanabi
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2003
    Messages : 570
    Points : 678
    Points
    678
    Par défaut
    ok je vois mieux ce que tu cherche à faire,
    utilise le dernier code que je t'ai proposé pour récupérer le nom de la table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    if(isset($_POST["tables"])){
         $latable=$_POST["tables"];
         //ici tu met le code pour lister les champs de la table
    }

  7. #7
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Points : 103
    Points
    103
    Par défaut
    Citation Envoyé par nsanabi Voir le message
    ok je vois mieux ce que tu cherche à faire,
    utilise le dernier code que je t'ai proposé pour récupérer le nom de la table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    if(isset($_POST["tables"])){
         $latable=$_POST["tables"];
         //ici tu met le code pour lister les champs de la table
    }

  8. #8
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Points : 103
    Points
    103
    Par défaut merci
    Merci ca marche nickel
    2 petites questions
    1)
    quand je valide le

    <TEXTAREA NAME="contenu" COLS=4 ROWS=1></TEXTAREA>
    lorsque je clique sur le bouton valid
    la valeur selectionné de contenu se remets a 0
    ainsi que sur ma combo cmb ( qui affiche tous les champs d'une table
    voir code ci dessous

    2)
    as tu l'adresse d'une grille javascript sympa trie des colonnes par exemples
    open source pour afficher le résultat de ma requete
    merci beaucoup en tous cas grace a toi j'ai pu avancé

    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
     
    <html>
     
     
     
     
                <select name="cmb">
     
    <?php
     
     
     
    $requete_champ ="select * from ".$Schema.$tavariable. " limit 1";  
     
     
     echo "$requete_champ";
     
     
     $res = pg_query($conn, $requete_champ);
     $i   = pg_num_fields($res);
     
     for ($j = 0; $j < $i; $j++) 
     {
         echo "colonne $j\n";
         $fieldname = pg_field_name($res, $j);
         echo "Champ : $fieldname\n";
         echo '<option name="'.$fieldname.'">'.$fieldname.'</option>';
     
         /* création d'une combobox */	
         /*
         echo "Taille affichée : ".pg_field_prtlen($res, $fieldname)." caractères\n";
         echo "Taille de stockage : ".pg_field_size($res, $j)." octets\n";
         echo "Type de champ : ".pg_field_type($res, $j)." \n\n";
         */
      }
     
     
    ?>
     
    </select>

  9. #9
    Membre éclairé Avatar de nsanabi
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2003
    Messages : 570
    Points : 678
    Points
    678
    Par défaut
    Citation Envoyé par moulery Voir le message
    lorsque je clique sur le bouton valid
    la valeur selectionné de contenu se remets a 0
    ainsi que sur ma combo cmb ( qui affiche tous les champs d'une table
    c'et normal, car il y'a& rechargement de la page, il va falloir ajouter l'attribut selected à la bonne option dans tes liste :
    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
     
    // pour la liste des tables :
    ...
    <SELECT NAME="tables" MULTIPLE SIZE="8" onchange="document.unform.submit();">	
    <?php
     
    foreach ($tableau as $tab1)
    {
    $sel=isset($_POST['tables']&&$tab1[relname]==$_POST['tables'])?'selected="selected"':' ';
    echo "<OPTION VALUE=".$tab1["relname"]." ".$sel." >".$tab1["relname"]."</option>"; 
    ..
    }
    ....
     
     
    // de meme pour ton deuxieme select (celui des champs) :
    <select name="cmb">
    <?php
    ...
    $sel=isset($_POST["cmb"] && $fieldname==$_POST["cmb"])?'selected="selected"':' ';
    echo '<option name="'.$fieldname." ".$sel.'">'.$fieldname.'</option>';
    ...

  10. #10
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Points : 103
    Points
    103
    Par défaut selected
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $sel=isset($_POST['tables']&&$tab1[relname]==$_POST['tables'])?'selected="selected"':' ';
    cette ligne marche pas il me mets 
    Parse error: parse error, expecting `','' or `')'' in C:\test generator \test\htdocs\index.php on line 38
    Merci !!!!!!!!
    Citation Envoyé par nsanabi Voir le message
    c'et normal, car il y'a& rechargement de la page, il va falloir ajouter l'attribut selected à la bonne option dans tes liste :
    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
     
    // pour la liste des tables :
    ...
    <SELECT NAME="tables" MULTIPLE SIZE="8" onchange="document.unform.submit();">	
    <?php
     
    foreach ($tableau as $tab1)
    {
    $sel=isset($_POST['tables']&&$tab1[relname]==$_POST['tables'])?'selected="selected"':' ';
    echo "<OPTION VALUE=".$tab1["relname"]." ".$sel." >".$tab1["relname"]."</option>"; 
    ..
    }
    ....
     
     
    // de meme pour ton deuxieme select (celui des champs) :
    <select name="cmb">
    <?php
    ...
    $sel=isset($_POST["cmb"] && $fieldname==$_POST["cmb"])?'selected="selected"':' ';
    echo '<option name="'.$fieldname." ".$sel.'">'.$fieldname.'</option>';
    ...

  11. #11
    Membre éclairé Avatar de nsanabi
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2003
    Messages : 570
    Points : 678
    Points
    678
    Par défaut
    mea-culpa
    effectivement j'ai fait une erreur :
    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
     
     
    // pour la liste des tables :
    ...
    <SELECT NAME="tables" MULTIPLE SIZE="8" onchange="document.unform.submit();">	
    <?php
     
    foreach ($tableau as $tab1)
    {
    $sel=isset($_POST['tables'])&&($tab1[relname]==$_POST['tables'])?'selected="selected"':' ';
    echo "<OPTION VALUE=".$tab1["relname"]." ".$sel." >".$tab1["relname"]."</option>"; 
    ..
    }
    ....
     
     
    // de meme pour ton deuxieme select (celui des champs) :
    <select name="cmb">
    <?php
    ...
    $sel=isset($_POST["cmb"])&& ($fieldname==$_POST["cmb"])?'selected="selected"':' ';
    echo '<option name="'.$fieldname." ".$sel.'">'.$fieldname.'</option>';
    ...

  12. #12
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Points : 103
    Points
    103
    Par défaut super
    Super ca a l'air de marchez je te reconfirme
    merci beaucoup en tout cas


    Citation Envoyé par nsanabi Voir le message
    mea-culpa
    effectivement j'ai fait une erreur :
    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
     
     
    // pour la liste des tables :
    ...
    <SELECT NAME="tables" MULTIPLE SIZE="8" onchange="document.unform.submit();">	
    <?php
     
    foreach ($tableau as $tab1)
    {
    $sel=isset($_POST['tables'])&&($tab1[relname]==$_POST['tables'])?'selected="selected"':' ';
    echo "<OPTION VALUE=".$tab1["relname"]." ".$sel." >".$tab1["relname"]."</option>"; 
    ..
    }
    ....
     
     
    // de meme pour ton deuxieme select (celui des champs) :
    <select name="cmb">
    <?php
    ...
    $sel=isset($_POST["cmb"])&& ($fieldname==$_POST["cmb"])?'selected="selected"':' ';
    echo '<option name="'.$fieldname." ".$sel.'">'.$fieldname.'</option>';
    ...

  13. #13
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Points : 103
    Points
    103
    Par défaut mozilla ok pas internet explorer
    Sur mozilla (3.6) ca marche nickel
    sur internet explorer (version 6.0)
    avec

    $sel=isset($_POST["cmb_champs_table"]) && ($fieldname==$_POST["cmb_champs_table"])?'selected="selected"':' ';
    echo '<option name="'.$fieldname." ".$sel.'">'.$fieldname.'</option>';

    apres click sur bouton valid cela remets la 1ere valeur dans la cmb
    mais mozilla c'est OK pas internet explorer !!
    merci et @+
    @+

    Citation Envoyé par moulery Voir le message
    Super ca a l'air de marchez je te reconfirme
    merci beaucoup en tout cas

  14. #14
    Membre éclairé Avatar de nsanabi
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2003
    Messages : 570
    Points : 678
    Points
    678
    Par défaut
    enlever l'attribut name de tes option et le remplacer par l'attribut value :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //remplacer
    $sel=isset($_POST["cmb_champs_table"]) && ($fieldname==$_POST["cmb_champs_table"])?'selected="selected"':' ';
    echo '<option name="'.$fieldname." ".$sel.'">'.$fieldname.'</option>';
    
    //par
    $sel=isset($_POST["cmb_champs_table"]) && ($fieldname==$_POST["cmb_champs_table"])?'selected="selected"':' ';
    echo '<option value="'.$fieldname.' '.$sel.'">'.$fieldname.'</option>';

  15. #15
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Points : 103
    Points
    103
    Par défaut merci
    Merci je te tiens au courant
    @+


    Citation Envoyé par nsanabi Voir le message
    enlever l'attribut name de tes option et le remplacer par l'attribut value :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //remplacer
    $sel=isset($_POST["cmb_champs_table"]) && ($fieldname==$_POST["cmb_champs_table"])?'selected="selected"':' ';
    echo '<option name="'.$fieldname." ".$sel.'">'.$fieldname.'</option>';
    
    //par
    $sel=isset($_POST["cmb_champs_table"]) && ($fieldname==$_POST["cmb_champs_table"])?'selected="selected"':' ';
    echo '<option value="'.$fieldname.' '.$sel.'">'.$fieldname.'</option>';

  16. #16
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Points : 103
    Points
    103
    Par défaut ..
    de meme pour

    echo '<option name="Egal" >Egal</option>';
    echo '<option name="Supérieur" >Supérieur</option>';

    quand je clique sur le bouton OK et pourtant j'ai selectionné
    Superieur il me mets egal
    merci



    en remplacant par option value cela ne marche pas dans les 2 cas
    @+

    Citation Envoyé par moulery Voir le message
    Merci je te tiens au courant
    @+

  17. #17
    Membre éclairé Avatar de nsanabi
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2003
    Messages : 570
    Points : 678
    Points
    678
    Par défaut
    j'avai dis de remplacer name par value, la balise option n'a pas d'attribut name
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //ceci n'a aucun sens
    echo '<option name="Egal" >Egal</option>';
    echo '<option name="Supérieur" >Supérieur</option>';
    essai de suivre mes indications :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    //soit tu met des value
    echo '<option name="Egal" >Egal</option>';
    echo '<option name="Supérieur" >Supérieur</option>';
     
     
    //soit tu ne met rien tout simplement
    echo '<option >Egal</option>';
    echo '<option >Supérieur</option>';
    fait la même chose pour toutes tes balises <option> et sans exception, remplace name par value n'en rate aucune <option>
    quand je clique sur le bouton OK et pourtant j'ai selectionné
    Superieur il me mets egal
    je ne saisi pas très bien ton problème, développe

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 4
    Points : 5
    Points
    5
    Par défaut récupération d'une var à partir d'une liste déroulante
    salut nasnabil,
    J’ai suivi votre discussion avec moulery, j’aimerai récupérer une variable à partir d’une liste déroulante et l’afficher dans le même fichier.php, car j’ai réussie à l’afficher dans un autre fichier en utilisant $_POST[]
    Voila le 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
    <form name="form" method="post" action="cons_session.php">
    <select name="session">
        <option value="0">Session(s) existante(s)</option>
        <?php
    connectBase();
    $sql = "SELECT DISTINCT session.id_s,session.lib_s
            FROM session, poser
            WHERE session.id_s = poser.id_s";
    $res=mysql_query($sql);
     
    while ($row = mysql_fetch_row($res))
    {
        $id_s=$row[0];
        $lib_s=$row[1];
        echo '<option value '.$id_s.'>'.$lib_s.'</option>';
    }
    ?>
      </select> 
      <input type="submit" name="valider" value="Valider" onclick="controle()"/>
    </form>
     
    <?php
    if (isset($_POST['valider'])){
     
    $id_s=$_POST['session'];
     
    echo'</br> la session est : '.$id_s.'';
     
    }
    ?>
    merci d'avance pour votre aide

  19. #19
    Membre éclairé Avatar de nsanabi
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2003
    Messages : 570
    Points : 678
    Points
    678
    Par défaut
    ton code parait être correct, tu met la totalité du code que tu viens d'écrire sur un même fichier php c'est tout

    HS : je suppose qu'ici onclick="controle()" tu fait appel à une fonction javascript pour contrôler la saisi sur ton formulaire, je te conseil de faire ta validation sur l'évènement onsubmit de ton form

  20. #20
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Points : 103
    Points
    103
    Par défaut meilleure explication
    salut


    - voila mon probleme
    je selectionne ma table OK
    je selectionne mon champ OK
    je selectionne mon critere superieur ou egal
    je rentre une valeur
    je clicke sur le bouton validation

    apres validation
    je recupere toutes mes valeurs c'est OK
    donc
    ma table choisie apparait par default OK
    mon champ choisi apparait OK
    mais
    par contre la combo du critere ne remets pas l'element chosie par default

    il mets le 1ere de la liste --> probleme ((faut mettre selected mais comment on fait ?)
    Le textarea --> se mets a vide --> probleme (comment on fait)
    je te remercie





    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
     
     
    <html>
     
    <form name="unform" action="<?$_SERVER['PHP_SELF'];?>" method="post">
    tables : <BR>
    <SELECT NAME="tables" MULTIPLE SIZE="8" onchange="document.unform.submit();">	
     
    <?php
     
    $Schema="monschema";
     
    /* Connection postgres  */
    $conn = pg_pconnect("host=localhost port=5432 dbname=db user=postgres password=postgres"); 
    if (!$conn) {
    echo "Une erreur s'est produite.\n";
    exit;
    }
     
    /* AFFICHE LES TABLES DU SCHEMA */
     
    $requete_tables_du_schema ="select distinct(relname)  from pg_attribute, pg_class, pg_namespace where 
    attnum>0 and attrelid=pg_class.oid and relnamespace=pg_namespace.oid and nspname="."'".$Schema."'";
     
    $resultat = pg_query($conn,$requete_tables_du_schema);
     
    $tableau = array();
     
    while($ligne = pg_fetch_assoc ($resultat))
    {
    	$tableau[] = $ligne;
    }
     
    ?>
     
    tables : <BR>
    <?php
    foreach ($tableau as $tab1)
    {
    $sel=isset($_POST['tables'])&&($tab1[relname]==$_POST['tables'])?'selected="selected"':' ';
    echo "<OPTION VALUE=".$tab1["relname"]." ".$sel." >".$tab1["relname"]."</option>"; 
    } 
     
    ?>
    </SELECT>
    <br>
     
    <?php
     
    /* MEMORISE Le click de la selection de la table */
    if(isset($_POST["tables"])){
         $tavariable=$_POST["tables"];
     
    }
    ?>
    <?php
         include('cmb_champs_table.php'); 
    ?>
     
    <select name="criteres">
    <?php
     
    /* AFFICHE LES criteres > < = etc ...  */
    echo '<option value="Egal" >Egal</option>';
    echo '<option value="Supérieur" >Supérieur</option>';
    ?>
    </select>
     
    /* l'utilisateur rentre la valeur saisie  */
    <TEXTAREA NAME="contenu" COLS=4 ROWS=1></TEXTAREA>
     
    /* Bouton validation  */
    <INPUT TYPE="submit" NAME="Valider" VALUE="OK"><BR>
     
    </FORM>
     
    <?php
     
    /* récupération des paramétres   */
    if(isset($_POST['Valider']))
    {
    echo "tables ",cmb_champs_table.value;
    echo "<br>";
    echo "tables ",$_POST['tables'];
    echo "<br>";
     
    echo "Valeur du champ : ",$_POST['cmb_champs_table'];
    echo "<br>";
    echo "Valeur du textarea : ",$_POST['contenu'];
    echo "<br>";
    echo "Valeur du criteres : ",$_POST['criteres'];
    echo "<br>";
    echo "<script>alert(\"$tavariable\")</script>"; 
     
    // ici apres on affichera la requete dans un tableau 
    }
    ?>
    </html>

    merci

    Citation Envoyé par nsanabi Voir le message
    j'avai dis de remplacer name par value, la balise option n'a pas d'attribut name
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //ceci n'a aucun sens
    echo '<option name="Egal" >Egal</option>';
    echo '<option name="Supérieur" >Supérieur</option>';
    essai de suivre mes indications :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    //soit tu met des value
    echo '<option name="Egal" >Egal</option>';
    echo '<option name="Supérieur" >Supérieur</option>';
     
     
    //soit tu ne met rien tout simplement
    echo '<option >Egal</option>';
    echo '<option >Supérieur</option>';
    fait la même chose pour toutes tes balises <option> et sans exception, remplace name par value n'en rate aucune <option>

    je ne saisi pas très bien ton problème, développe

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 26/02/2011, 01h16
  2. Evenement "clic sur aucun élément" d'une JList ?
    Par nuts62 dans le forum Composants
    Réponses: 1
    Dernier message: 18/01/2011, 13h20
  3. Réponses: 8
    Dernier message: 27/12/2010, 23h01
  4. problème avec le clic sur un élément
    Par yvespi dans le forum Powerpoint
    Réponses: 1
    Dernier message: 03/11/2010, 18h12
  5. Détecter le clic sur un élément en particulier
    Par pasqual dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/11/2009, 16h30

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