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 :

convertir une donnee envoyer par select en variable


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2015
    Messages : 93
    Points : 63
    Points
    63
    Par défaut convertir une donnee envoyer par select en variable
    bonjour,
    voila j'ai un select qui a pour name="test"
    puis en option value="t1" puis le son nom d'affichage t1
    quand je poste mon formulaire dans mon autre page je réceptionne bien la valeur de mon option par un $_POST['test'] soit t1

    mais mon problème est que je souhaite transformer le contenu envoyer en variable c'est a dire t1 mais en variable $t1 pour l'utiliser et que mon code continue sont travail
    j'ai essaye de mettre un $ dans le value de chaque option mais cela ne fonctionne pas il me renvoi juste une chaine pareil dans le name=$test rien a faire
    donc je vien vers vous pour voir si quelqu'un pouvez m'aider svp
    je l'en remercie d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <form method="post" action="page2.php">
    test :<select name="test">
    						<option selected></option>
    						<option value='t1'>1</option>
    						<option value='t2'>2</option>
    						<option value='t3'>3</option>
    						<option value='t4'>4</option>
    						<option value='t5'>5</option>
     
    				</select><br>
    reception t1 ou $t1 en fonction si je met un $ ou pas mais cela reste une chaine et ne deviens pas une variable

  2. #2
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu veux que si l'utilisateur a choisi 1, avoir une variable $t1 = 1, si l'utilisateur a choisi 2, avoir $t2 = 2 ?
    Ca serait quoi l'interêt ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2015
    Messages : 93
    Points : 63
    Points
    63
    Par défaut
    cette variable va me permettre de selectionner un calcul supplémentaire pour la suite

    exemple :
    réception de la donnée envoyer de mon select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $test = $_POST['test'];
    méthode calcul
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $t1 = (10000*10/100)*$_POST['v']+10000; 
    $t2 = (7500*20/100)*$_POST['v1']+7500; 
    $t3 = (5000*30/100)*$_POST['v2']+5000;
    //etc...
    c'est le contenu de $_POST['test'] envoyer de mon formulaire que je doit transformer en variable

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    $_POST['test'] est une variable.

    Sinon je ne comprends pas ton exemple, la liste déroulante ne va fournir qu'une seule valeur, donc tu n'auras pas $t1 et $t2 en même temps.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Citation Envoyé par cyril-34 Voir le message
    cette variable va me permettre de sectionner un calcul supplémentaire pour la suite
    "sectionner " ou "sélectionner" ?

    Avec des noms de variables aussi peu explicites que t1, t2, v1,..., ce n'est pas facile de comprendre ce que tu veux vraiment faire...


    Sinon, on peut effectivement définir un nom de variable DYNAMIQUE :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $test = $_POST['test'];

    ${$test} définit :
    • la variable $t1 si $test vaut 't1'
    • la variable $t2 si $test vaut 't2'
    • ...

  6. #6
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2015
    Messages : 93
    Points : 63
    Points
    63
    Par défaut
    ok mais es ce qu'il y a un moyen de le faire ??
    ou es ce que je suis je mal parti dans le code de la page contenant le select pour arriver a ceux que t1 ou t2 ou t3 devienne une variable en fonction de ceux que je recup dans ma 2eme page ?
    que la j'ai mis que 3 exemple de t1 t2 t3 mais dans la page j'en ai 21 en tout
    que me conseille tu ?

  7. #7
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    il existe en PHP, extract() qui pourrait t'aider, lis bien l'avertissement en rouge sur la page
    enfin je ne sais pas si j'ai bien compris ta problématique

  8. #8
    Invité
    Invité(e)
    Par défaut
    ...de faire QUOI ??

    Si tu n'expliques pas plus précisément, comment veux-tu qu'on te donne une réponse claire et pertinente ?

    Citation Envoyé par cyril-34 Voir le message
    c'est le contenu de $_POST['test'] envoyer de mon formulaire que je doit transformer en variable
    Je t'ai donné la réponse dans mon message précédent :

  9. #9
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2015
    Messages : 93
    Points : 63
    Points
    63
    Par défaut
    jreaux62 aurai tu un exemple concret stp de comment rendre une variable dynamique
    que là je n'est pas bien compris

    c'est sélectionner dans mon post précédent et pas sectionner dsl erreur de frappe

  10. #10
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2015
    Messages : 93
    Points : 63
    Points
    63
    Par défaut
    ca ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $test = $_POST['test']; 
    ${$_POST['test']};
    ou faut-il que je fasse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $test =${$_POST['test']};

  11. #11
    Invité
    Invité(e)
    Par défaut
    un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form method="post">
    	<p>texte fr : <input type="text" value="" name="blabla_fr" /></p>
    	<p>texte en : <input type="text" value="" name="blabla_en" /></p>
    	<p>texte jp : <input type="text" value="" name="blabla_jp" /></p>
    </form>
    Récupération :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $langs = array( 'fr', 'en', 'jp' );
    foreach( $langs as $lang)
    {
    	${'blabla_'.$lang}		= $_POST['blabla_'.$lang];
    }
    On peut alors manipuler les variables : $blabla_fr, $blabla_en, $blabla_jp.
    • $blabla_fr contient 'mon texte en français' (le contenu de l'input name="blabla_fr")
    • $blabla_en contient 'my text in English' (le contenu de l'input name="blabla_en")
    • $blabla_jp contient '私の日本語のテキスト' (le contenu de l'input name="blabla_jp")




    Ceci dit, on attend toujours que tu nous EXPLIQUES CLAIREMENT et LOGIQUEMENT ce que tu veux faire.

  12. #12
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2015
    Messages : 93
    Points : 63
    Points
    63
    Par défaut
    ok merci je vais tester ca
    je ne vois pas comment mieux l'expliquer que dans mes 2 premier message

  13. #13
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Si tu as quelque chose de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $_POST['t1'] = 'a';
    $_POST['t2'] = 'b';
    $_POST['t3'] = 'c';
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extract($_POST, EXTR_OVERWRITE);
    tu vas avoir à ta disposition les variables $t1, $t2, $t3

  14. #14
    Invité
    Invité(e)
    Par défaut
    Rappel :



    Avertissement
    N'utilisez pas extract() sur des données inconnues, comme les données utilisateurs (i.e. $_GET, $_FILES, etc.).
    Si vous le faites, par exemple, pour rendre compatible un vieux code avec register_globals à Off de façon temporaire, assurez-vous d'utiliser l'une des constantes flags qui n'écrasent pas les valeurs, comme EXTR_SKIP.
    Sachez aussi que vous devez maintenant extraire dans le même ordre que celui défini dans variables_order du php.ini.

  15. #15
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    je m'auto-cite :
    Citation Envoyé par rawsrc Voir le message
    Salut,

    il existe en PHP, extract() qui pourrait t'aider, lis bien l'avertissement en rouge sur la page
    enfin je ne sais pas si j'ai bien compris ta problématique
    2 avertissements valent mieux qu'un, je suis bien d'accord jreaux62

  16. #16
    Invité
    Invité(e)
    Par défaut
    Bon.

    OK, mais si tu écris "rouge" en noir...


    Je suis dalmatien, pas daltonien* !

    (Non, même pas Averell...)
    Dernière modification par Invité ; 15/02/2016 à 14h53.

  17. #17
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2015
    Messages : 93
    Points : 63
    Points
    63
    Par défaut
    après plusieurs test cela ne fonctionne pas avec vos propositions j'ai même effectuer un test avec un form sous forme de bouton radio

    comme je ne peu être plus clair que dans mon message 1 et 2
    je vais tente de le ré-expliquer ici
    j'ai un formulaire sur ma page1.php qui contient plusieurs select dont 1 qui me donne du fil a retordre

    voir exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <form method="post" action="page2.php">
     
    affichage :<select name="test">
        <option selected></option>
        <option value='t1'>ceci</option>
        <option value='t2'>est </option>
        <option value='t3'>juste </option>
        <option value='t4'>un  </option>
        <option value='t5'>nom</option>
     </select>
    lorsque je le valide le form, les donnée vont sur une page2.php afin de les récupérer
    j'utilise : $_POST['test], le contenu de cette variable $_POST['test'] est sous forme de texte soit t1 ou t2 ou t3 ou t4 ou t5 (pour info j'ai 21 choix possible sur la page1 qui contient le form).

    je souhaite transformer ce texte contenu dans la variable $_POST['test'] en variable $t1 ou $t2 ou $t3 en fonction du choix préalablement fait sur la première page

    afin que mais calcul se trouvant sur cette page2 (page de réception) puisse continuer a s'effectuer

    exemple de calcul :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $t1 = (10000*10/100)*$_POST['v89']+10000; 
    $t2 = (7500*20/100)*$_POST['v75']+7500; 
    $t3 = (5000*30/100)*$_POST['v32']+5000;
    mon souci et que je sais comment transformer le contenu de la variable $_POST['test'] en variable
    j’espère que cela est plus clair pour vous.

  18. #18
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Euh, c'est pas très clair, désolé lol
    Citation Envoyé par cyril-34 Voir le message
    je souhaite transformer ce texte contenu dans la variable $_POST['test'] en variable $t1 ou $t2 ou $t3 en fonction du choix préalablement fait sur la première page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $t1 = (10000*10/100)*$_POST['v89']+10000; 
    $t2 = (7500*20/100)*$_POST['v75']+7500; 
    $t3 = (5000*30/100)*$_POST['v32']+5000;
    mon souci et que je sais comment transformer le contenu de la variable $_POST['test'] en variable
    Donc, je résume : tu dis vouloir transformer $_POST['test'] = 't1' en $t1 alors que dans tes calculs, tu définis toi-même $t1...
    Quelle en est l'utilité ?

    Et jreaux62 t'a déjà indiqué comment faire : ${$_POST['test']} va te créer une variable $t1 si $_POST['test'] = 't1', $t2 si $_POST['test'] = 't2', etc...

    ensuite si tu souhaites atteindre la valeur d'une variable dynamique dont le nom est du texte, tu as cette notation : $$_POST['test'],
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $_POST['test'] = 't1';
    ${$_POST['test']} = 'abc';  // $t1 = 'abc'
     
    $b = $$_POST['test'];       // $b = 'abc'
    Plus clair ?

  19. #19
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par cyril-34 Voir le message
    comme je ne peu être plus clair que dans mon message 1 et 2...
    OK pour les "explications".
    Citation Envoyé par cyril-34 Voir le message
    ...je vais tenter de le ré-expliquer ici...
    Pas la peine : on est capable de scroller jusqu'au 1er message !


    Mais le problème de compréhension vient peut-être d'un problème de... CONCEPTION.

    Ce n'est peut-être pas un SELECT qu'il faut !
    Ton SELECT ne fait que récupérer une chaine "t1", "t2",......

    Et la solution pour obtenir une variable dynamique t'a déjà été donnée...

    Et vu que tes "exemples de calcul" n'apportent pas d'éclairage supplémentaire...
    Un exemple CONCRET de traitement serait le bienvenu.
    Dernière modification par Invité ; 15/02/2016 à 18h43.

  20. #20
    Invité
    Invité(e)
    Par défaut
    Essayons une autre voie (gardons l'esprit OUVERT... ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $test = $_POST['test'];
    switch( $test )
    {
    	case 't1':
    		$t1 = (10000*10/100)*$_POST['v89']+10000; 
    		break;
    	case 't2':
    		$t2 = (7500*20/100)*$_POST['v75']+7500; 
    		break;
    	case 't3':
    		$t3 = (5000*30/100)*$_POST['v32']+5000;
    		break;
    }
    Est-ce ce que tu cherches ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. VBA reconnaissance d'une feuille sélectionnée par Select Case
    Par DaVinci_067 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/01/2008, 04h22
  2. Ajout d'une colonne virtuelle par SELECT
    Par vibe972 dans le forum Requêtes
    Réponses: 1
    Dernier message: 12/11/2007, 17h28
  3. Afficher une fiche client par selection dans une Liste
    Par Pascal26 dans le forum WinDev
    Réponses: 2
    Dernier message: 10/04/2007, 11h16
  4. [SGBD] Convertir une donnée Date MYSQL en format Francais
    Par hillairet dans le forum Débuter
    Réponses: 4
    Dernier message: 28/09/2005, 15h06
  5. Réponses: 2
    Dernier message: 02/06/2005, 18h12

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