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 :

Récupérer dans une variable la valeur sélectionnée dans un select


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    839
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 839
    Par défaut Récupérer dans une variable la valeur sélectionnée dans un select
    Bonsoir à tous.

    Avant de d'ouvrir cette discussion j'ai essayé plusieurs scripts glanés sur plusieurs forums sans résultats notamment :
    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 action="#" method="post">
    	<select multiple name="prenom1[]">
    		<option name="prenom1[] "value="adriana">Adriana</option>
    		<option name="prenom1[]" value="alessandra">Alessandra</option>
    		<option name="prenom1[]" value="candice">Candice</option>
    		<option name="prenom1[]" value="lili">Lili</option>
    	</select><br>
    	<input type="submit" style="margin-left:25px; margin-top:5px" value="OK" />
    </form>
    <!--Si l'utilisateur sélectionne Candice, cet exemple va afficher : Prénom sélectionné Candice-->
    <?php
    if(!$_POST['prenom1']){
    	echo 'Prenom sélectionné = '.$_POST['prenom1'];
    }else{
    	 echo "Aucune option n'a été sélectionnée <br>";
    }
    La récupération de la variable $_POST['prenom1'] ne fonctionne pas.

    Je suis à cours d'idées.

    Merci d'avance pour votre aide

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 680
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 680
    Par défaut
    afficher le contenu de "$_POST['prenom1']" avec "var_dump" par exemple.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    839
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 839
    Par défaut
    Echo envoyé : Aucune option n'a été sélectionnée

    Affichage de var_dump($_POST);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    array (size=1)
      'prenom1' => 
        array (size=1)
          0 => string 'candice' (length=7)

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    $_POST['prenom1'] est un array.
    On ne peut pas l'afficher avec echo, mais avec var_dump( par exemple)

    Et pour lister :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach( $_POST['prenom1'] as $ii => $prenom1 )
    {
       echo 'prénom '.$ii.' : '.$prenom1.'<br />';
    }
    [EDIT] Et le name ne se met que sur le <select> :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	<select multiple name="prenom1[]">
    		<option value="adriana">Adriana</option>
    		<option value="alessandra">Alessandra</option>
    		<option value="candice">Candice</option>
    		<option value="lili">Lili</option>
    	</select>

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    839
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 839
    Par défaut
    Bonjour à tous et en particulier à jreaux62

    Un grand merci pour votre juste réponse et toujours aussi rapide.

    Effectivement je viens de tester, ça fonctionne parfaitement.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    839
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 839
    Par défaut
    Re bonjour à tous.

    En fait mon objectif, c'est d'insérer une colonne après une colonne existante dans la bdd en fonction de la sélection du nom de la colonne dans une liste déroulante.
    Voici mon
    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
    <body>
    	<?php
    	$rows = $bdd->query("describe adherents");
    	?>
    	<fieldset><legend>Insérer une colonne dans la BDD après la colonne choisie</legend>
    		<form name="ajout_champ_bdd" method="post" action="#">
    			<select name="test[]" style="width:130px" >
    				<option>Selectionner ...</option>
    				<?php
    				while ($row = $rows->fetch()){
    					print $row['Field'] . '<br>';
    					echo '<option value="$row[]"</option>';
    				}
    				?>
    			</select>		
    			Saisir nom de la nouvelle colonne ><input type="text" name="nom_new_col_bdd" style="width:130px; margin-left:5px" />
    			<input type="submit" name="ajout_col_bdd" value="Ajout colonne à la bdd" style="width:130px; margin-left:0px" /><br> 
    		</form>
     
    		<div style="margin-left:25px">
    		<?php
    		if(isset($_POST['test'])) {
    			foreach( $_POST['test'] as $ii => $test )
    			{
    				$varselect = $test;
    				echo 'Le nom de colonne '.$varselect.' a été sélectionné <br>';
    			}
    		}else{
    		   echo "Aucune option n'a été sélectionnée <br>";
    		}	
    		?>
    		</div>
    		<?php
     
    		// récupération des variables POST: 
    		$varnewcol=isset($_POST['nom_new_col_bdd'])?$_POST['nom_new_col_bdd']:'';
     
    		if (isset($_POST['ajout_col_bdd'])) {
    			$sql= "SHOW COLUMNS FROM adherents LIKE '$varnewcol'";
    			$result = $bdd->query($sql);
    			if($result->rowCount() > 0) {
    				echo '<script>alert("La colonne \"'.$varnewcol.'\" existe, saisir un autre nom !");</script>';
    			} else {
    				$req=$bdd->query('ALTER TABLE adherents ADD '.$varnewcol.' TEXT NOT NULL AFTER '.$varselect);//fonctionne pas
    				echo '<script>alert("La colonne \"'.$varnewcol.'\" a été ajouté à la bdd");</script>';
    			}
    		}
    		?>
    	</fieldset>	
    </body>
    Les options dans ce cas sont construites dans la boucle while et la récupération de la variable $varselect ne fonctionne pas pour l'utiliser avec AFTER.

    Je ne vois vraiment pas comment procéder !

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    839
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 839
    Par défaut
    Bonjour.

    J'avais noté trop hâtivement la discussion comme résolue.

    Petite remarque : j'ai débuter en PHP récemment, j'ai acquis de l'expérience et j'ai très bien progressé grâce à ce forum que je remercie.

    Donc je reformule ma question : comment récupérer dans une variable la valeur sélectionnée dans un select lorsque les options sont construites dans la boucle while.

    Dans ce cas c'est aussi un array ??

Discussions similaires

  1. [V7] Récupérer la valeur d'un champ selection dans un email
    Par jmbinformatique dans le forum Odoo (ex-OpenERP)
    Réponses: 0
    Dernier message: 04/03/2015, 15h46
  2. Réponses: 7
    Dernier message: 03/10/2012, 14h51
  3. 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, 10h31
  4. Réponses: 3
    Dernier message: 25/04/2008, 11h25
  5. Réponses: 11
    Dernier message: 21/08/2007, 09h57

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