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 :

Condition dans formulaire


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Par défaut Condition dans formulaire
    Bonjour,

    j'essaie de créer un formulaire pour effectuer une simulation de gain.

    mon formulaire est créé, et le résultat fonctionne.

    J'essaie maintenant de l'améliorer en proposant un liste de produit (appelé depuis ma BDD) (cela fonctionne)

    LA ou je bloque c'est que j'aimerai lorsque un produit est sélectionné dans ma liste déroulante, aller y chercher la prime associée pour l'afficher directement dans mon formulaire.
    Actuellement la prime doit être entrée manuellement.

    J’espère être à peu près clair

    D'avance merci pour aide.

    Ci dessous mon code.

    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
    	<form action="simulation.php" method="post">
     
           <div> <label>Cours</label><input id="Cours" name="Cours" type="text" placeholder="Ex:200" autofocus required></div>
     
    	  <div> <?php
    $base = mysql_connect('localhost','root','');
    mysql_select_db('cbt',$base); 
     
     echo '<label for="Produit">Produit</label>'."\n";
    echo '<select name="produit">'."\n";
    echo '<option value="-1">Type de produit</option>'."\n";
    $result = mysql_query("SELECT id,produit FROM optionsble ORDER by id" );
    while($data =  mysql_fetch_array($result))
    {
        echo '<option >'.$data['produit'] ;
        echo '</option>'."\n";
    }
    echo '</select>'."\n";
     
    ?>
    </div>
           <div> <label>Prime Call/Put</label><input name="Prime" id="Prime" type="text" placeholder="Ex:12" autofocus required></div>
    	   <div> <label>Nb lots</label><input id="Lots" name="Lots" type="text" placeholder="Ex:2" autofocus required></div>
    		<div> <label>Objectif du Cours</label><input name="objCours" id="objCours" type="text" placeholder="Ex:231" autofocus required></div>
     
     
            <div><input type="submit" name="valider" value="Simulation de gain"> <input type="reset" name="Submit" value="Reset" /></div>
     
    		<?php
    if(isset($_POST['valider'])){
        $Cours    = $_POST['Cours'] ;
    $Prime = $_POST['Prime'] ;
    $Lots    = $_POST['Lots'] ;
    $objCours = $_POST['objCours'] ;
     
    	$resultat = (($objCours - $Cours) * $Prime) * $Lots;	
     
     
    	echo '<p class="message-box">Votre gain est de ' . $resultat . ' euros</p>'; 
    }
    ?>

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Par défaut
    Tu pourra remplir un array avec comme key le id du produit et comme valeur la prime.
    - tu la met dans une variable js.
    - tu met ton traitement dans le onChange de la select.
    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
    echo '<select name="produit" onchange="getPrime(this.value);">'."\n";
    echo '<option value="-1">Type de produit</option>'."\n";
    $result = mysql_query("SELECT id,produit, prime FROM optionsble ORDER by id" );
    while($data =  mysql_fetch_array($result))
    {
        echo '<option >'.$data['produit'] ;
        echo '</option>'."\n";
        $ar_prime[$data['id']] = $data['prime'] ;
    }
    echo '</select>'."\n";
    echo '<script type="text/javascript>"';
    echo 'var ar = ' . json_encode($ar_prime);
    echo 'function getPrime(id){ alert(ar[id]; }';
    J'ai pas verifier le code alors il poura y avoir des erreurs de syntaxe.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Par défaut
    Merci m4riachi, mais je dois t'avouer que ta réponse est un peu complexe pour moi.
    J'ai essayé ton code mais cela ne fonctionne pas.

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Par défaut
    Il n'a rien de complexe , est ce que t'a comprit le principe?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Par défaut
    non justement je n'ai pas compris

  6. #6
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Par défaut
    Réessay avec se code
    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
     
    <?php
    echo '<select name="produit" onchange="getPrime(this.value);">'."\n";
    echo '<option value="-1">Type de produit</option>'."\n";
    $result = mysql_query("SELECT id,produit, prime FROM optionsble ORDER by id" );
    while($data =  mysql_fetch_array($result))
    {
        echo '<option value="' . $data['id'] . '">'.$data['produit'] ;
        echo '</option>'."\n";
        $ar_prime[$data['id']] = $data['prime'] ;
    }
    echo '</select>'."\n";
    echo '<script type="text/javascript>"';
    echo 'var ar = ' . json_encode($ar_prime);
    echo 'function getPrime(id){ alert(ar[id]; }';
    echo '</script>';
    Si ça ne marche pas fais affiche moi ton code source a partir de votre navigateur
    Quand je reviendrai je t'expliquerai le principe

Discussions similaires

  1. Champ calculé dans formulaire avec conditions
    Par applefield dans le forum IHM
    Réponses: 4
    Dernier message: 30/08/2007, 16h59
  2. Ajout de condition dans un formulaire
    Par neofuturoxx dans le forum Langage
    Réponses: 3
    Dernier message: 10/07/2007, 16h39
  3. conditions dans un formulaire
    Par Frankr dans le forum IHM
    Réponses: 13
    Dernier message: 13/02/2007, 16h32
  4. Réponses: 1
    Dernier message: 10/03/2006, 22h50
  5. Problème: condition sur formulaire dans requête
    Par decour dans le forum Access
    Réponses: 1
    Dernier message: 17/10/2005, 23h27

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