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 :

garder la valeur d'un select


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2021
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2021
    Messages : 12
    Par défaut garder la valeur d'un select
    Bonjour,
    j'aimerai garder l'option sélectionnée quand il y a un rafraichissement ou un href
    voici le code que j'ai fait mais ça ne marche pas?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $example = $_POST["tri"];
    ?>
     
     <form action="" method="post">
        <select name="tri" id="tri" onchange="this.form.submit();"  size=1 style="width:155px;height:37px;">
          <option <?php if($exemple == "Choix du tri") echo"selected"; ?>name="tri" value="Choix du tri">Choix du tri</option>
          <option <?php if ($example=="Sans tri") echo "selected";?>name="tri" value="Sans tri">Sans tri</option>
          <option <?php if ($example=="Prix croissant") echo "selected";?>name="tri" value="Prix croissant">Prix croissant</option>
          <option <?php if ($example=="Prix décroissant") echo "selected";?>name="tri" value="Prix décroissant">Prix décroissant</option>
       </select>
    </form>

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 369
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 369
    Billets dans le blog
    17
    Par défaut
    Il y a de l'idée avec ce que tu as déjà fait

    Affiche la source de la page web, tu verras que ton selected est collé au name.

    (d'ailleurs il n'y a pas de name normalement sur des option)

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2021
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2021
    Messages : 12
    Par défaut
    merci pour la réponse
    voilà j'ai modifier avec une session et sa marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $_SESSION['tri'] = $_POST["tri"];   
    ?>
     
     <form action="" method="post">
        <select name="tri" id="tri" onchange="this.form.submit();"  size=1 style="width:155px;height:37px;">
          <option <?php if(isset($_SESSION['tri']) and $_SESSION['tri'] == "Choix du tri") echo  "selected='selected'"; ?>name="tri" value="Choix du tri">Choix du tri</option>
          <option <?php if(isset($_SESSION['tri']) and $_SESSION['tri'] == "Sans tri") echo  "selected='selected'";?>name="tri" value="Sans tri">Sans tri</option>
          <option <?php if(isset($_SESSION['tri']) and $_SESSION['tri'] == "Prix croissant") echo  "selected='selected'";?>name="tri" value="Prix croissant">Prix croissant</option>
          <option <?php if(isset($_SESSION['tri']) and $_SESSION['tri'] == "Prix décroissant") echo  "selected='selected'";?>name="tri" value="Prix décroissant">Prix décroissant</option>
          <option <?php if(isset($_SESSION['tri']) and $_SESSION['tri'] == "Avis") echo  "selected='selected'";?>name="tri" value="Avis">Avis</option>
       </select>
    </form>

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 369
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 369
    Billets dans le blog
    17
    Par défaut
    Ce n'est pas la session qui fait que ça marche, mais le ' fermant du selected qui joue comme un séparateur

  5. #5
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Pas de Calais (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Par défaut
    Bonjour,

    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
    <?php
    	$_SESSION['tri'] = $_POST["tri"];   
    ?>
     
    	<form action="" method="post">
    		<select name="tri" id="tri" onchange="this.form.submit();"  size=1 style="width:155px;height:37px;">
    <?php
    		$tri_array = [
    			"Choix du tri" => "Choix du tri",
    			"Sans tri" => "Sans tri",
    			"Prix croissant" => "Prix croissant",
    			"Prix décroissant" => "Prix décroissant",
    			"Avis" => "Avis",
    		];
    		foreach( $tri_array as $tri_value => $tri_name )
    		{
    			$selected = (isset($_SESSION['tri']) && $_SESSION['tri'] == $tri_value)? ' selected="selected"' : '';
    ?>
    			<option value="<?= $tri_value; ?>"<?= $selected; ?>><?= $tri_name; ?></option>
    <?php
    		}
    ?>		</select>
    	</form>
    N.B. :
    • j'ai séparé value et name dans l'array (car ils ne sont pas forcément les mêmes : généralement, les values sont numériques)
    • on ne met pas d’attribut name="" sur les <option>

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

Discussions similaires

  1. [MySQL] Garder même valeur d'un select après actualisation
    Par Anibel dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/11/2013, 07h55
  2. Réponses: 0
    Dernier message: 30/11/2012, 11h26
  3. Garder la valeur d'un select apres envoi du form
    Par kitten13 dans le forum Langage
    Réponses: 1
    Dernier message: 30/05/2009, 23h45
  4. SELECT : garder la valeur choisie
    Par ocane59 dans le forum Langage
    Réponses: 1
    Dernier message: 14/09/2007, 17h00
  5. garder la valeur d' un html:select déja sélectionnée
    Par amine1980 dans le forum Struts 1
    Réponses: 3
    Dernier message: 22/12/2006, 19h09

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