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 :

recupérer les valeur d'un select


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Par défaut recupérer les valeur d'un select
    Bonjour à tous,

    Je cherche a récupérer en php les valeur compris dans les <option> d'un select.
    En effet, j'utilise une requête pour récupérer les informations de ma table et je stocke en même temps les informations dans le tableau $tab_nom_site.
    Comme ceci:
    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
    $tab_nom_site = array();
    	if (($con = mysql_connect(HOST, LOGIN, PASSWORD)) !== false){
    		if (mysql_select_db(DB)) {
    			$query = "SELECT id, name FROM site ORDER BY id;";
    			$result = mysql_query($query);
    			//tant que $row contient quelque chose
    			$i=0;
    			while($row = mysql_fetch_array($result)) {
    				$tab_nom_site[$i]=$row[1]; 
    				echo "<option value=\"$row[0]\">".$row[1]."</option>";
    				$i++;
    			}
    		}
    		//echo mysql_error();
    		mysql_close($con);
    	}
    J'utilise un <input type="hidden"...> pour poster mon tableau vers l'autre Comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input type="hidden" name="steackhache" value="<?php echo $tab_nom_site; ?>"/>
    	<input type="submit" name="rechercher" value="Rechercher"/>
    Du coup, je récupère une lettre au lieu du nom du site, quand je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php 
    $n_site= $_POST['site'];
    $tab=$_POST['steackhache'];
    echo $tab[$n_site]; ?>
    Quelqu'un sait-il pourquoi je ne récupère qu'une lettre au lieu du mot?

    Sinon, quelqu'un aurait-il une autre solution pour recupérer une élement du tableau ?

    merci

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Par défaut
    Je ne pense pas que tu puisses poste un tableau complte via ton champ hidden, sauf à le sérialiser (c'est à dire en faire une chaîne de caractères) au préalable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    <input type="hidden" name="steackhache" value="<?php echo serialize($tab_nom_site); ?>"/>
    Ensuite dans ton code qui récupère le formulaire, tu désérialises la chaîne reçue pour en refaire tableau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $tab = unserialize($_POST['steackhache']);
    Plus d'infos ici:

    http://fr3.php.net/manual/fr/function.serialize.php

  3. #3
    Membre éclairé Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Par défaut
    Non ca ne m'affiche rien avec le serialize et le unserialize.
    Merci quand même.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il faut proteger les guillemets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="steackhache" value="<?php echo htmlentities(serialize($tab_nom_site)); ?>"/>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tab = unserialize(html_entity_decode($_POST['steackhache']));
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Il faut proteger les guillemets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="steackhache" value="<?php echo htmlentities(serialize($tab_nom_site)); ?>"/>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tab = unserialize(html_entity_decode($_POST['steackhache']));
    Au temps pour moi

  6. #6
    Membre confirmé Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Par défaut
    essai sa pour voir
    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
    <?
    $base="nom_base";
    $conn=mysql_connect("localhost","root","");
    mysql_select_db($base);
    $sql="select * from nom_table";
    $result=mysql_query($sql);
    ?><html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans titre</title>
    </head>
     
    <body>
    <form id="form1" name="form1" method="post" action="">
      <label>
      <select name="select">
      <option value="a">a</option>
      <? while($row=mysql_fetch_array($result)){ ?>
        <option value="<? echo ''.$row['images'].''; ?>"><? echo ''.$row['images'].''; ?>
        <? } ?>
      </select>
      </label>
    </form>
    </body>
    </html>

  7. #7
    Membre éclairé Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Par défaut
    Non plus!
    apparemment, je ne peux pas recupérer ce qu'il y'a entre la balise <option></option>.
    Il vaut mieux que je fasse une 2ème requête ou alors passer dans le value de l'option le nom du site auquel cas je dois modifier tout mon script.

    ---------
    J'ai fait ma 2ème requête mais je n'arrive pas à avoir le résultat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $n_site= $_POST['site'];
    $query = "SELECT name FROM site where=id='".$n_site."';";
    $result = mysql_query($query);
    $row = mysql_fetch_array($result);
    echo "row: ".$row; die;
    Pourtant quand je fais un count($result) c'est égale à un.

    Quelqu'un à une idée ?

    Merci d'avance

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/08/2010, 09h07
  2. Réponses: 6
    Dernier message: 22/08/2008, 16h20
  3. [Debutant] recupérer les valeurs d'un select
    Par foubou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/06/2008, 16h40
  4. Recupérer les valeurs d'un select multiple
    Par MANU_2 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/02/2008, 11h49
  5. Récupérer les valeurs d'un <select> multiple
    Par vg33 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/10/2005, 11h38

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