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 :

affichage de la valeur sélectionnée dans un select


Sujet :

Langage PHP

  1. #1
    Membre expert

    Homme Profil pro
    Webmaster débutant
    Inscrit en
    octobre 2006
    Messages
    7 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 7 090
    Points : 3 055
    Points
    3 055
    Billets dans le blog
    1
    Par défaut affichage de la valeur sélectionnée dans un select
    Bonjour,

    j'ai un select dans mon code, et je souhaite, quand un utilisateur a sélectionné une valeur, que celle-ci soit affichée par le select et non plus la valeur par défaut.
    Une recherche m'a donné un code qui fait ça :

    Code html : 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
     
    <html>
    <head>
    <script type='text/javascript'>
    function Refresh()
    {
            //JQuery
            $("#textaffiche").html($("#id").val());
    }
    </script>
    </head>
    <body>
     
     
    <span id="TextAffiche"></span>
     
    <select onkeypress="Refresh()" onchange="Refresh()" id="id" name="id">
    <option value="1">Albert</option>
    <option value="3">Bertrand</option>
    <option value="4">Cédric</option>
    <option value="6">Didier</option>
    </select>
    </body>
    </html>

    Par contre, si j'enrichis un peu ce code pour aller vers ce que je veux faire, ça ne marche plus (la valeur par défaut reste affichée)(comme je souhaite lancer le submit dès que l'utilisateur sélectionne une valeur, j'ai rajouté submit() dans la fonction js appelée sur onchange)

    Code php : 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
     
    <html>
    <head>
    <script type='text/javascript'>
    function Refresh()
    {
            //JQuery
            $("#textaffiche").html($("#id").val());
            submit();
    }
    </script>
    </head>
    <body>
     
    <span id="TextAffiche"></span>
     
    <select onkeypress="Refresh()" onchange="Refresh()" id="id" name="id">
    <option value="1">Albert</option>
    <option value="3">Bertrand</option>
    <option value="4">Cédric</option>
    <option value="6">Didier</option>
    </select>
    <?php
    if (isset($_POST['id']))
        echo $_POST['id'];
    ?>
    </body>
    </html>
    Peut-on me dire pourquoi ça ne marche plus ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  2. #2
    Membre expert

    Homme Profil pro
    Webmaster débutant
    Inscrit en
    octobre 2006
    Messages
    7 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 7 090
    Points : 3 055
    Points
    3 055
    Billets dans le blog
    1
    Par défaut
    J'ai progressé mais c'est pas encore au point.
    Déjà, c'est mieux de mettre le select dans une form...
    mais sur le onchange, il n'y a qu'une seule action d'exécutée (la première rencontrée dans le code)...

    Voici les 2 essais effectués :

    Code php : 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
     
    <html>
    <head>
    <script type='text/javascript'>
    function Refresh()
    {  
            submit();
            //JQuery
            $("#textaffiche").html($("#id").val());
    }
    </script>
    </head>
    <body>
    <span id="TextAffiche"></span>
     <form method="POST">
    <select id="id" name="id" onchange="Refresh();" >
    <option value="1">Albert</option>
    <option value="3">Bertrand</option>
    <option value="4">Cédric</option>
    <option value="6">Didier</option>
    </select>
    </form>
    <?php
    if (isset($_POST['id']))
        echo $_POST['id'];
    ?>
    </body>
    </html>

    Là, la première action rencontrée est le submit donc on affiche $_POST['id'] mais la valeur affichée par le select reste la valeur par défaut.



    Code php : 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
     
    <html>
    <head>
    <script type='text/javascript'>
    function Refresh()
    {  
            //JQuery
            $("#textaffiche").html($("#id").val());
    }
    </script>
    </head>
    <body>
    <span id="TextAffiche"></span>
     <form method="POST">
    <select id="id" name="id" onchange="Refresh();submit();" >
    <option value="1">Albert</option>
    <option value="3">Bertrand</option>
    <option value="4">Cédric</option>
    <option value="6">Didier</option>
    </select>
    </form>
    <?php
    if (isset($_POST['id']))
        echo $_POST['id'];
    ?>
    </body>
    </html>
    Là, la première action rencontrée est la fonction jquery mais le submit n'est pas exécuté...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  3. #3
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    16 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 16 025
    Points : 32 827
    Points
    32 827
    Par défaut
    Bonjour,

    Citation Envoyé par laurentSc Voir le message
    J'ai progressé mais c'est pas encore au point....
    J'ai peur que tu régresses, au contraire...

    AUCUN besoin de JS ou jQuery ici.

    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
    <form method="post" action="">
    <?php
    $id = (isset($_POST['id']))? intval($_POST['id']) : 0;
    //    echo $id;
    ?>
    <select id="id" name="id" onchange="submit();">
    	<option value="0">...</option>
    <?php
    	$noms_arr = [
    		1 => 'Albert',
    		3 => 'Bertrand',
    		4 => 'Cédric',
    		6 => 'Didier',
    	];
    	foreach( $noms_arr as $nom_idx => $nom_val )
    	{
    		$selected = ($id == $nom_idx)? ' selected="selected"' : '';
    		echo '	<option value="'.$nom_idx.'"'.$selected.'>'.$nom_val.'</option>'."\n";
    	}
    ?>
    </select>
    </form>
    Ce serait le même principe avec des données issues d'une base de données.

    N.B. Si tu regardes/lis ce code, tu y verras ce principe.
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  4. #4
    Membre expert

    Homme Profil pro
    Webmaster débutant
    Inscrit en
    octobre 2006
    Messages
    7 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 7 090
    Points : 3 055
    Points
    3 055
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par jreaux62 Voir le message

    J'ai peur que tu régresses, au contraire...
    Si tu le dis...

    J'ai bien vu le principe dans ton code de gestion de news, mais bien plus bas que dans la page que tu m'indiques...Cela dit, j'ai essayé de comprendre : tu mets en selected la valeur qui vient d'être sélectionnée, non ?

    Par contre, j'ai tenté de l'adapter à mon besoin réel (comme tu t'en doutes, ce n'est pas ce que j'avais posté, même si je reproduisais le problème), mais il est pas d'accord.

    Code php : 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
     
    $var=$pdo->select('SELECT t.id FROM `tickets` t',[]);
    ?>
    <form method="post" action=""> 
    <?php
    $id = (isset($_POST['id']))? intval($_POST['id']) : 0;
    //    echo $id;
    ?>
    <select id="id" name="id" onchange="submit();">
    <?php
    $noms_arr=[];
    foreach($var as $idticket) { array_push($noms_arr,($i++ => $idticket['id'],));}
     
    foreach( $noms_arr as $nom_idx => $nom_val )
    	{
    		$selected = ($id == $nom_idx)? ' selected="selected"' : '';
    		echo '	<option value="'.$nom_idx.'"'.$selected.'>'.$nom_val.'</option>'."\n";
    	}
    ?>
    </select>

    Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW) in C:\wamp64\www\ticket\methodes\Get_ProductName_example_normal_getter2.php on line 12
    Donc ma méthode pour construire l'array $noms_arr ne va pas. Comment faut-il faire ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  5. #5
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    16 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 16 025
    Points : 32 827
    Points
    32 827
    Par défaut
    Avec toi, tout devient compliqué... et tordu.

    1-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $var=$pdo->select('SELECT t.id FROM `tickets` t',[]);
    Je suppose que $var est le résultat d'un fetchAll(), c'est bien ça ?
    Réponse : oui.

    Alors $var est DÉJÀ un array !

    2- Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <select id="id" name="id" onchange="submit();">
    <?php
    $var=$pdo->select('SELECT t.id FROM `tickets` t',[]);
    foreach( $var as $row )
    	{
    		$selected = ($id == $row['id'])? ' selected="selected"' : '';
    		echo '	<option value="'.$row['id'].'"'.$selected.'>'.$row['nom'].'</option>'."\n";
    	}
    ?>
    </select>
    Ou, si tu as choisi la sortie "objet" (PDO::FETCH_OBJ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <select id="id" name="id" onchange="submit();">
    <?php
    $var=$pdo->select('SELECT t.id FROM `tickets` t',[]);
    foreach( $var as $row )
    	{
    		$selected = ($id == $row->id)? ' selected="selected"' : '';
    		echo '	<option value="'.$row->id.'"'.$selected.'>'.$row->nom.'</option>'."\n";
    	}
    ?>
    </select>
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  6. #6
    Membre expert

    Homme Profil pro
    Webmaster débutant
    Inscrit en
    octobre 2006
    Messages
    7 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 7 090
    Points : 3 055
    Points
    3 055
    Billets dans le blog
    1
    Par défaut
    Oui $var est bien retourné par un fetchAll.

    méthode de la classe de rawsrc :
    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
    /**
         * @param  mixed $sql
         * @param  mixed $values    [:tag => value] si pas de values, mettre [] en argument
         * @param  mixed $types     [:tag => PDO::PARAM_XXX] si tag absent alors PDO::PARAM_STR
         * @return array            null si erreur
         */
        public function select($sql, array $values, array $type = []): ?array
        {
            try {
                $stmt = self::$pdo->prepare($sql);
                foreach ($values as $tag => $v) {
                    $stmt->bindValue($tag, $v, $type[$tag] ?? \PDO::PARAM_STR);
                }
                $exec = $stmt->execute();
                return $stmt->fetchAll(\PDO::FETCH_ASSOC);
            } catch (\PDOException $e) {
                error_log('PDO::select - '.$e->getMessage());
                return null;
            }
        }
    La sortie est donc en associatif :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <select id="id" name="id" onchange="submit();" style="width:200px;">
    <?php
     
    foreach( $var as $row )
    	{   
    		$selected = ($id == $row['id'])? ' selected="selected"' : '';
    		echo '	<option value="'.$row['id'].'"'.$selected.'>'.$row['id'].'</option>'."\n";
    	}
    ?>
    </select>
    Par contre, le select, au lieu d'afficher la dernière valeur sélectionnée, affiche systématiquement la dernière valeur de $var....
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  7. #7
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    16 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 16 025
    Points : 32 827
    Points
    32 827
    Par défaut



    A part ça... comment va ta JAMBE ?
    Ça se reconstruit ?
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  8. #8
    Membre expert

    Homme Profil pro
    Webmaster débutant
    Inscrit en
    octobre 2006
    Messages
    7 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 7 090
    Points : 3 055
    Points
    3 055
    Billets dans le blog
    1
    Par défaut
    Merci de te soucier de ma jambe, et c'est désormais du passé : j'ai repris le boulot le 26 septembre. J'avais du être réopéré en avril dernier car la jambe, en se reconsolidant, n'était plus droite, mais maintenant, ça va.

    Par contre, saurais-tu faire marcher mon select ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  9. #9
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    5 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 5 562
    Points : 14 996
    Points
    14 996
    Billets dans le blog
    9
    Par défaut
    Salut,

    dans ton code tu le pêches d'où ton $id ?
    # Dans la Création, tout est permis mais tout n'est pas utile...

  10. #10
    Membre expert

    Homme Profil pro
    Webmaster débutant
    Inscrit en
    octobre 2006
    Messages
    7 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 7 090
    Points : 3 055
    Points
    3 055
    Billets dans le blog
    1
    Par défaut
    $id = (isset($_POST['id']))? intval($_POST['id']) : 0;.

    voici le code complet :
    Code html+php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <form method="post" action="" onchange="submit()";> 
    <?php
    $id = (isset($_POST['id']))? intval($_POST['id']) : 0;
    ?>
    <select name="id">
    <?php
    foreach($var as $idticket) { ?>
        <option value="<?=$idticket['id']; ?>" ><?=$idticket['id']; ?> </option>   
    <?php } ?>
    </select>
    </form>
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  11. #11
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    5 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 5 562
    Points : 14 996
    Points
    14 996
    Billets dans le blog
    9
    Par défaut
    pour que cela fonctionne, t'es en train de dire que c'est le même formulaire qui est appelé à la soumission, c'est bien ça ?
    # Dans la Création, tout est permis mais tout n'est pas utile...

  12. #12
    Membre expert

    Homme Profil pro
    Webmaster débutant
    Inscrit en
    octobre 2006
    Messages
    7 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 7 090
    Points : 3 055
    Points
    3 055
    Billets dans le blog
    1
    Par défaut
    Oui c'est ça. L'action est sur la même page que le formulaire (uniquement constitué du select) et ce que je souhaite, c'est que :

    1- l'action est lancée dès que l'utilisateur sélectionne une valeur avec le select

    2- la valeur nouvellement affichée par le select est la valeur que l'utilisateur vient de sélectionner

    code complet avec l'action :

    Code html+php : 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
     
    <?php
    $var=$pdo->select('SELECT t.id FROM `tickets` t',[]);
    ?>
    <form method="post" action="" onchange="submit()";> 
    <?php
    $id = (isset($_POST['id']))? intval($_POST['id']) : 0;
    ?>
    <select name="id">
    <?php
    foreach($var as $idticket) { ?>
        <option value="<?=$idticket['id']; ?>" ><?=$idticket['id']; ?> </option>   
    <?php } ?>
    </select>
    </form>
    <?php
    if( isset ($_POST['id']) )
    {
    // code de l'action
    }
    A noter le onchange="submit()";. Ce qui ne marche pas pour le moment est le point 2.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  13. #13
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    16 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 16 025
    Points : 32 827
    Points
    32 827
    Par défaut
    Bonjour,

    Même quand on te donne TOUT le code, tu n'es pas capable de le copier tel quel...
    Tu es déprimant.
    • Le onchange est mal placé
    • Il manque $selected



    @rawsrc
    Il s'agit d'un TRES BASIQUE ré-affichage des données dans un formulaire, après soumission (et rechargement de la page).
    Selon le tout aussi BASIQUE PRINCIPE de FORMULAIRE et TRAITEMENT sur la même page
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  14. #14
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    septembre 2007
    Messages
    8 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : septembre 2007
    Messages : 8 335
    Points : 14 505
    Points
    14 505
    Par défaut
    Bonjour,

    J'ai pas lu la discussion jusqu'au bout mais juste pour dire pourquoi le JS ne fonctionne pas.
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#textaffiche").html($("#id").val()); // tu cherches l'élément avec l'id textaffiche qui n'existe pas
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <span id="TextAffiche"></span> <!-- Mais l'élément qui existe est TextAffiche -->
    C'est sensible à la casse.

    A+.

  15. #15
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    16 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 16 025
    Points : 32 827
    Points
    32 827
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    ...C'est sensible à la casse.
    S'il n'y avait que ça...

    • 1- il manque aussi le script d'initialisation de jQuery
    • 2- C'est aussi et surtout parce que la page est rechargée par le submit(); !

    C'est pourquoi un script JS n'est pas adapté ici.


    Le code PHP que j'ai donné fonctionne très bien.
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  16. #16
    Membre expert

    Homme Profil pro
    Webmaster débutant
    Inscrit en
    octobre 2006
    Messages
    7 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 7 090
    Points : 3 055
    Points
    3 055
    Billets dans le blog
    1
    Par défaut
    Désolé d'être déprimant mais je vais le rester : selon moi, le onchange est au même endroit que dans ton code et le $selected y est bien. Moralité : je ne comprends toujours pas...

    Rappel de 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
    <form method="post" action=""> 
    <?php
    $id = (isset($_POST['id']))? intval($_POST['id']) : 0;
    ?>
     
    <select id="id" name="id" onchange="submit();" style="width:200px;">
    <?php
    $var=$pdo->select('SELECT t.id FROM `tickets` t',[]);
    foreach( $var as $row )
    	{   
    		$selected = ($id == $row['id'])? ' selected="selected"' : '';
    		echo '	<option value="'.$row['id'].'"'.$selected.'>'.$row['id'].'</option>'."\n";
    	}
    ?>
    </select>
    </form>
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  17. #17
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    16 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 16 025
    Points : 32 827
    Points
    32 827
    Par défaut
    Ah bon ?
    regarde bien tes message #10 et #12 !

    A croire que tu changes de code plus souvent que de chemise !

    Quant à ton dernier code (le mien), il fonctionne.

    regarde, et MONTRE, le code HTML généré ("Ctrl"+"U").
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  18. #18
    Membre expert

    Homme Profil pro
    Webmaster débutant
    Inscrit en
    octobre 2006
    Messages
    7 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 7 090
    Points : 3 055
    Points
    3 055
    Billets dans le blog
    1
    Par défaut
    Oui, je me demande bien où j'ai pêché le code hier soir...

    Ce matin, code généré :
    Code html : 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
     
     
    <html>
    <head>
    </head>
    <body>
     
    <form method="post" action=""> 
     
    <select id="id" name="id" onchange="submit();" style="width:200px;">
    	<option value="INC000006425994" selected="selected">INC000006425994</option>
    	<option value="INC000006582652" selected="selected">INC000006582652</option>
    	<option value="INC000006665218" selected="selected">INC000006665218</option>
    	...	
    </select>
    </form>
     
     
    </body>
    </html>
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  19. #19
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    16 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 16 025
    Points : 32 827
    Points
    32 827
    Par défaut
    Sacré Laurent....................... !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	<option value="INC000006425994" selected="selected">INC000006425994</option>
    ...
    SERIEUX ??
    • RIEN NE TE CHOQUE ??
    • RIEN ne te saute aux yeux ??


    1- "INC000006425994" : ce N'est PAS un NUMÉRIQUE (ENTIER) !!
    Dans ce cas, on ne peut/doit PAS utiliser intval() !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    $id = (isset($_POST['id']))? $_POST['id'] : 0;
    ?>
    2- COMMENT arrives-tu à avoir selected="selected" sur TOUTES les <option> ??
    Ce n'est PAS POSSIBLE !


    MAIS COMMENT TU FAIS ????????
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  20. #20
    Membre expert

    Homme Profil pro
    Webmaster débutant
    Inscrit en
    octobre 2006
    Messages
    7 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 7 090
    Points : 3 055
    Points
    3 055
    Billets dans le blog
    1
    Par défaut
    Le selected de partout, je l'avais même pas remarqué

    Si j'enlève intval, ce n'est plus le cas, et ça marche !
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.6] Récupérer dans une variable la valeur sélectionnée dans un select
    Par modus57 dans le forum Langage
    Réponses: 9
    Dernier message: 13/11/2017, 12h43
  2. Affichage de la valeur sélectionnée dans un comboBox
    Par polymorphisme dans le forum JavaFX
    Réponses: 8
    Dernier message: 13/01/2014, 12h22
  3. valeur sélectionnée dans un <select>
    Par Oberown dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/12/2010, 22h07
  4. [XL-2007] Affichage d'une valeur sélectionnée dans une Listbox
    Par jmh51 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/07/2010, 09h15
  5. Récupérer la valeur sélectionnée dans un <select>
    Par Goupo dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 26/06/2009, 11h31

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