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

PHP & Base de données Discussion :

Récupérer 2 variables issues d'une boite liste [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut Récupérer 2 variables issues d'une boite liste
    Salut

    Je planche sur une solution, explications :

    Dans un premier temps, je récupére dans une boucle les variables et les libéllés pour "alimenter" une boite liste déroulante :

    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
     
     
    <?php
    //connexion....
     
    print("<form method='post' action='index.php3'>
    <input type='hidden' name='c_action' value='Transmettre'>
    <select name='obj'>
    <option value='Choix nul'>-- Evénement --</option>");
     
     
    $results = mysql_query("SELECT * FROM ma_table ORDER BY libelle ASC");
    while ($produit = mysql_fetch_array($results))
    	{
    		$libelle = $produit['libelle'];
    		$obj = $produit['obj'];
     
    print("<option value=\"$obj\">$libelle</option>");		
    	}
     
     
    print("</select><input type='submit' name='c_action' value='Transmettre'></form>
    ");
     
    //finconnexion.....
    ?>
    Jusque là, aucun probléme.

    Mais je voulais savoir s'il était possible de transmettre, pour traitement, les 2 variables associées en même temps.
    C'est à a dire, et la variable $obj (bien sûr), mais aussi et surtout la valeur $libelle qui lui est associée.

    Merci à vous

  2. #2
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut, tu peux jeter un oeil ici : http://julp.developpez.com/php/formulaires/#6

    Bon développement

  3. #3
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Merci pour le lien Nesmontou.

    Mais je n'ai pas trouvé la solution à ma requête, dans ce sens où, et d'ailleurs c'est précisé à cette url :
    "Les listes déroulantes sont couramment utilisées pour que l'utilisateur ne puisse sélectionner qu'une valeur".
    Et c'est bien là mon probléme.

    Plus précisemment, je veux récupérer ( pas forcemment de façon dynamique) les 2 variables associées.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <option value=\"$variable1\">$libelle1</option>
    <option value=\"$variable2\">$libelle2</option>
    <option value=\"$variable3\">$libelle3</option>
    Si je clique sur $libelle2, je souhaite transmettre $libelle2 et $variable2
    Dans le cas de mon premier script, un seul des 2 est transmis, soit $variable2.

  4. #4
    Membre actif Avatar de allyson
    Inscrit en
    Août 2003
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 261
    Points : 277
    Points
    277
    Par défaut
    salut;
    tu pourrais par exemple mettre utiliser une variable de session! (n'oublie pas de mettre session_start() au début de ta page actuelle et de index.php3)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    while ($produit = mysql_fetch_array($results))
       {
          $libelle = $produit['libelle'];
          $obj = $produit['obj'];
    $_SESSION['libelle'] = $libelle;
    //ou
    //session_register("libelle") = $libelle;
    // tout dépend de ta version php! je vois que c'est la 3...
    print("<option value=\"$obj\">$libelle</option>");

  5. #5
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Ou bien,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <option value=\"$variable1.'separateur'.$libelle1\">$libelle1</option>
    <option value=\"$variable2.'separateur'.$libelle2\">$libelle2</option>
    <option value=\"$variable3.'separateur'.$libelle3\">$libelle3</option>
    Et quand tu récupères tu sépares avec substr et strpos

  6. #6
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Salut

    Désolé, pas pu donner suite plus rapidement cause plantage _FTP.


    Dans le premier cas (allyson), une session_start() me crée des conflits, car j'ai d'autres scripts sur la même partition, par ailleurs, dans le cas de l'utilisation de ta formule, je ne pourrais récupérer que le dernier libellé de toute la liste <select>.
    J'ai déjà réalisé divers tests, et c'est toujours le dernier qui est tjrs transmis.

    Pour papyphp, l'utilisation de la fonction substr est exclue, puisqu'ils s'agit de variables auparavant enregistrées par des tiers, donc longueur inconnue pour une découpe éventuelle.
    Sinon, l'idée de concaténer était bonne.

    Finalement, en attendant de trouver plus compact, j'ai relancé une 2eme requete qui va chercher le libellé associé à la valeur $obj transmise en session.
    Pas trop le choix...

    Merci pour vos interventions.

  7. #7
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Citation Envoyé par alain31tl
    Pour papyphp, l'utilisation de la fonction substr est exclue, puisqu'ils s'agit de variables auparavant enregistrées par des tiers, donc longueur inconnue pour une découpe éventuelle.
    , on te propose d'insérer un séparateur (que tu auras défini) et d'en récupérer la position avec strpos(), c'est grâce à cette position que tu pourras utiliser substr()

    sinon dans le même esprit, il y a aussi strtok()


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

Discussions similaires

  1. Récupérer des variables issues d'une boucle
    Par bakapunch dans le forum Langage
    Réponses: 7
    Dernier message: 25/06/2014, 17h02
  2. Réponses: 4
    Dernier message: 18/03/2008, 03h58
  3. [MySQL] probleme sur 2 variables issues d'une table $_POST
    Par gilal dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 04/03/2008, 17h02
  4. [MySQL] Récupérer des variables hors d'une fonction
    Par piero-la-lune dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 26/02/2008, 10h30
  5. [BPW]Problème de recherche dans une boîte liste
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 14
    Dernier message: 05/07/2003, 15h10

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