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 valeur d'un select et le passer en variable [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 63
    Points : 15
    Points
    15
    Par défaut Récupérer valeur d'un select et le passer en variable
    Bonjour,

    J'ai un select et je veux récupérer la valeur de ma liste de choix pour passer en variable pour effectuer un calcul.

    Voici mon code :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form id="formulaire_calcul" method="post" name="liste">
      <select name="size" id="select" style="width:120px" Onchange="javascript:SelectValueChamp();"">
          <option value="">Choisir pays</option>
          <option value="10">France</option>
          <option value="15">Belgique</option>
           </select>
      <input name="select" type="text" id="nombre_b" form="formulaire_calcul"/>

    Il faut que j'arrive à passer la valeur de l'id="select" en une variable pour arriver à la place du de l'id="nombre_b"


    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <!-- Ligne de code pour afficher les frais de port dans le champ en direct -->
    <script language="javaScript">
    function SelectValueChamp(){
    valeur=document.forms['liste'].elements['size'].options.selectedIndex;
    v_valeur=document.forms['liste'].elements['size'].options[valeur].value;
    document.forms['liste'].elements['nombre_b'].value=v_valeur;
    }
    </script>
    <!-- Fin du code -->

    Le principe est le suivant, on indique le pays qui donne les frais de transport ( id select )

    La valeur sélectionner s'affiche dans le champ nombre_b pour pouvoir effectuer le montant article + FDP

    J'arrive à afficher les frais de transport, à calculer l'addition mais lors de l'envoi de la commande, j'ai le champ frais de port vide car id select alors que dans le calcul c'est nombre_b.

    Il faut que j'arrive en gros à faire un select = nombre_b ( shématiquement ).

    J'y suis depuis une semaine et je ne trouve pas.

    Merci de votre aide.

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

    1/ quel rapport avec le forum PHP ?

    2/
    name="size" id="select" ...
    ...
    name="select"
    size, select ne sont pas des noms très judicieux pour des données/variables...
    Tu n'as pas peur de t'embrouiller ?
    Dernière modification par Invité ; 27/03/2015 à 19h39.

  3. #3
    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
    Il n'y a ni PHP ni Mysql dans ce que tu nous montres donc que tu viens tu faire ici ?

    Sinon quel est le but d'avoir deux champs avec la même valeur ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 63
    Points : 15
    Points
    15
    Par défaut
    La variable est en php !!!! Je souhaite récupérer une variables sous forme $select.

    Merci de votre compréhension.

    Mon problème est qu'il faut que je récupère la valeur de mon select en html et la passer en variable php.

    J'ai peut être posté au mauvais endroit, et je m'en excuse. Mon code est en php. J'utilise un select en html pour choisir un nombre dans une liste.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par CVS62 Voir le message
    Merci de votre compréhension.
    Justement non. On ne comprends pas.

    Ni ce que tu veux faire, ni pourquoi.

    On récupère la valeur du <select> avec $_POST['size'].

    N.B. Tu vois ce que je veux dire quand je parle de s'embrouiller avec tes noms de données/variables...

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 63
    Points : 15
    Points
    15
    Par défaut
    Je veux récupérer la valeur de ma liste choix pour l'exploiter en php.

    Liste de choix choix du pays pour frais de port. Une fois le pays sélectionner, j'ai le prix du port pour ensuite l'additionner en php.

    Merci, je vais changer mes noms car c'est l'embrouille.

    Je peux faire ensuite :

    $_POST['size'] = nombre_b ? ( prix de ma liste de choix = valeur qui va me sert à faire mon addition )

    pour : <input name="select" type="text" id="nombre_b" form="formulaire_calcul"/>

    Mon problème c'est que j'ai deux trucs en un seul, ma liste de choix et ma ligne qui affiche la valeur de ma sélection.

    L'addition va chercher la valeur afficher dans mon champ nombre_b pour faire le calcul.

    Montant des achats = nombre_a
    Frais de transport ( via ma liste de choix ) = nombre_b
    Montant à payer = X

    Il faut donc que je récupère nombre_b pour faire mon addition. Le truc c'est que nombre_b provient de ma liste de choix via mon select en html.

  7. #7
    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
    Je ne vois toujours pas l'interêt d'avoir un <input> qui a la même valeur que le <select> juste au dessus.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 63
    Points : 15
    Points
    15
    Par défaut
    Le input me sert à afficher la valeur de mon choix dans la liste pour contrôle.


    Je sélectionne Belgique et ça m'affiche 13. A la limite il est vraie je peux le virer si ça peut débloquer mon code.

  9. #9
    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
    Non tu peux le laisser mais il n'y a pas d’intérêt que ce soit un <input> puisque c'est uniquement une information.

    Bref comme te l'as dit jreaux62, la valeur selectionnée c'est $_POST['size'].
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 63
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    J'ai modifié mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      <select name="size" id="select" style="width:120px" Onchange="javascript:SelectValueChamp();"">
          <option value="">Choisir pays</option>
          <option value="17.50">Belgique</option>
          <option value="16.80">Italie</option>
          <option value="22.80">Suisse</option>
      </select>
     
      <? $_POST['size'].= 'id="nombre_b"'; ?>
     
             <label for="nombre_b">: </label>
             <input name="nombre_b" type="text" id="nombre_b" form="formulaire_calcul" value="<? echo $nombre_b ?>"/>

    J'ai un bout de javascript pour afficher dans le champ, tout marche nickel en ligne.

    Le truc, c'est que dans mon formulaire la valeur de nombre_b est toujours vide. Le calcul se fait bien, tout est nickel en ligne, à première vue on dit ça roule, mais à la réception l'addition se fait pas car nombre_b est vide.

    J'évite de trop changé mes noms pour éviter de me perdre.

    Merci encore pour vos conseils.

  11. #11
    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['size'] est la valeur choisie quand tu valides le formulaire.
    Je ne vois pas pourquoi tu t'obstines à vouloir utiliser la valeur "nombre_b" puisque c'est le champs "size" qui contient la valeur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 63
    Points : 15
    Points
    15
    Par défaut
    Aye, il y a des coups de pied au fesse qui se perde

    Tu as raison. Il faut que je soit plus attentif.

    Je teste dans la journée.

    Merci encore pour votre patience.

  13. #13
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    C'est possible d'avoir le code complet (formulaire, javascript, traitement,...),
    avec aussi les noms des fichiers ?

  14. #14
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 63
    Points : 15
    Points
    15
    Par défaut
    J'ai modifié tout mon code j'ai viré nombre_b je passe pour l'affichage $size dans mon formulaire d'envoi. Je passe mes variables comme ça pour le reste et tout passe.

    Et rien ne fonctionne. Toujours, le champ vide !!!

    J'ai modifié mon mode de calcul, il y a un truc qui cloche. En virant le select et en tapant la valeur dans le champ tout fonctionne nickel.

    Genre frais de port 33 €, j'ai bien 33 € dans mon mail de réception.

    Si je modifie mon champ d'indication par un sélecteur avec liste de choix, rien ne fonctionne.

    Un truc à devenir fou. C'est ma liste de choix qui pose problème. L'envoi ce fait via un bouton de validation en bas de page. Le pire c'est que dans mon formulaire j'ai des selects qui marche nickel. Seul les frais de transport me pose problème.

    Le calcul se fait par une commande ajax pour avoir le calcul en direct. Niveau calcul, tout est ok.

    J'ai 4 ou 5 fichiers qui font tourner le code, en version de base ça fonctionne nickel, seul le select et l'affichage de la valeur choisi me pose problème.

    Un truc de fou.

  15. #15
    Invité
    Invité(e)
    Par défaut
    Tu ne donnes toujours pas le code complet...
    Du moins, le code nécessaire et suffisant pour pouvoir tester.
    Dernière modification par Invité ; 28/03/2015 à 11h54.

  16. #16
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 63
    Points : 15
    Points
    15
    Par défaut
    Voici la partie du code qui pose problème :

    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
    <form id="formulaire_calcul" method="post" name="liste">
     
      <select name="size" id="select" style="width:120px" Onchange="javascript:SelectValueChamp();"">
          <option value="">Choisir pays</option>
          <option value="17.50">Belgique</option>
          <option value="16.80">Italie</option>
          <option value="22.80">Suisse</option>
      </select>
     
      <input name="select" type="text" id="nombre_b" form="formulaire_calcul"/> <!-- Good -->
     
        <br>
        <br>
      <font color="navy"><u>Montant hors frais de transport</u></u> : </font></label>
      <input name="nombre_a" type="text" id="nombre_a" form="formulaire_calcul" value="<? echo Montant() ?>" />
    &euro;<br>
    <br>
     
    <!-- Calcul des frais de transport en ajax -->
    <input name="action" type="hidden" form="formulaire_calcul" value="Calculer" />
    <input type="submit" value="Calculer le montant de votre commande" />
    </form>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <!-- Ligne de code pour afficher les frais de port dans le champ en direct -->
    <script language="javaScript">
    function SelectValueChamp(){
    valeur=document.forms['liste'].elements['size'].options.selectedIndex;
    v_valeur=document.forms['liste'].elements['size'].options[valeur].value;
    document.forms['liste'].elements['nombre_b'].value=v_valeur;
    }
    </script>
    <!-- Fin du code -->
    Le code fournit fonctionne nickel à l'écran, seul la valeur du select ne passe pas. Je donne le code non modifié pour que l'on y voit plus clair.

    Code ajax :

    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
    $(document).ready(function() {
    	$("form#formulaire_calcul").submit(function() {
    		$.getJSON("controleur.php",
    		{
    		"action" : "calculer",
    		"nombre_a" : $("input#nombre_a").val(),
    		"nombre_b" : $("input#nombre_b").val() 
    		},
    		function(data) 
    			{
    			$("input#resultat_addition").val(data['resultat_addition']);
    			}
    		);
    		return false;
    	});
    });
    code contrôleur :

    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
    <?PHP
    	if(isset($_REQUEST['action'])) {
    		switch($_REQUEST['action']) {
    			case 'calculer' :
    					$nombre_a = trim($_REQUEST['nombre_a']);
    					$nombre_b = trim($_REQUEST['nombre_b']);
    					$resultat_addition = $nombre_a + $nombre_b;
    					$resultat_multiplication = $nombre_a * $nombre_b;
    					$resultat = array('resultat_addition' => $resultat_addition,
    										'resultat_multiplication' => $resultat_multiplication);
    					print(json_encode($resultat));
    			break;
    		}
    	}
    ?>
    Code de validation ( Validation.php ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $MailBody .= "<b><u>Frais de transport</u> : $nombre_b Euros</b>" . "<br>";

    J'ai mis la totalité du code qui pose problème.

  17. #17
    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
    J'adore quand un code jQuery sort du chapeau après 10 messages a essayer de te faire décrire ce que tu faisais.
    Bref dans aucun de tes fichiers tu n'utilises le champs "size", on se retrouve toujours avec ce "nombre_b" qui ne sert à rien et on a en plus un "nombre_a" sorti de je ne sais ou.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #18
    Invité
    Invité(e)
    Par défaut
    Je plussois sabotage... (comme souvent !)
    Bien qu'on retrouve ici nombre_a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <input name="nombre_a" type="text" id="nombre_a" form="formulaire_calcul" value="<? echo Montant() ?>" />
    Dans le code Ajax,
    remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		"nombre_b" : $("input#nombre_b").val()
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		"nombre_b" : $("select#select").val()

  19. #19
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 63
    Points : 15
    Points
    15
    Par défaut
    C'est fait, je viens de tester toujours vide, il faut que je modifie autre chose à mon avis ...

    Le code fonctionne bien en ligne, niveau affichage. Juste la valeur dans le formulaire de réception.

    Merci encore pour ton aide.

  20. #20
    Invité
    Invité(e)
    Par défaut
    Où est l'<input id="resultat_addition"> ??

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

Discussions similaires

  1. [MySQL] Récupérer valeur d'un select en utilisant systeme de template
    Par Blade dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 28/11/2008, 10h43
  2. Récupérer valeur d'un select d'un FormView pour la poster
    Par fetardalyon dans le forum Débuter
    Réponses: 1
    Dernier message: 24/09/2008, 15h32
  3. récupérer valeur d'un select et le passer à une autre page
    Par identifiant_bidon dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/01/2008, 17h48
  4. Récupérer valeur d'un select multiple
    Par christgh dans le forum Langage
    Réponses: 3
    Dernier message: 01/08/2007, 14h53
  5. Récupérer valeur d'un select
    Par nicoaix dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 04/01/2006, 14h21

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