Probleme avec un select name

Résolu
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   -  
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous j’ai un souci j’ai fait un select affichant les données depuis la base de donnée ça marche mais je veux faire afficher le montant qui correspond a un element du select qui se trouve dans la base de donnée mais je n’arrive pas pourrai je avoir un coup de main svp

 <?php
require_once('bdconnexion.php');
$req="select * from module";
$rs=mysql_query($req) or die(mysql_error());
?>
<form method="post"action="#">
<select name="module" id="module">
<option><?php while ($SET=mysql_fetch_assoc($rs)) {?>
<?php echo ($SET['nom_module']) ?>
<option> <?php } ?>
<br>
</option>
</select><br>
<label for="montant">Montant</label>
<input id="montant" name="montant"
Value=//je veux afficher le motant en fonction du choix dans le select
</form><br>

6 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Places le montant dans l'attribut VALUE de tes OPTIONS
De plus... ta boucle n'était pas bien placée...

Teste ceci : (en changeant si nécessaire la variable $SET['montant'] par le nom du champ dans ta BDD correspondant au "montant"
   <select name="module" id="module">
   <?php 
     while ($SET=mysql_fetch_assoc($rs)) {
         echo "<option value='".$SET['montant']."'>".$SET['nom_module']."</option>";
       }
     ?>
</select>


Cordialement, 
Jordane                                                                 
0
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   48
 
j'ai changé la boucle mais quand je choix un module dans le select le montant ne s'affiche pas dans la partie montant. je veux selectionner un module et le montant s'affiche automatique dans la patie montant pas de select dans le montant
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Il faut modifier cette ligne :
<input id="montant" name="montant"
             Value=//je veux afficher le motant en fonction du choix dans le select 

par :
<?php
 $module = !empty($_POST['module']) ? $_POST['module'] : 0;
?>
<input id="montant" 
           name="montant"
           Value='<?php echo $module ; ?>' >


Par contre ... ça ne se fera qu'après le SUBMIT de ton formulaire....

Si tu veux le faire en automatique sans avoir à faire de submit ...là ... il faudra le faire en javascript !
0
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   48
 
ha ok mais en javascript cela me donnera quoi svp!
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Et bien...
Mettre un ONCHANGE sur ton SELECT qui appelle un script JAVASCRIPT.
Ce script lit la valeur selectionnée dans le SELECT et rempli ton INPUT.
En gros :
<select name="module" id="module" onchange='remplirInput(this);'>


Et dans ta page tu ajoutes le code javascript suivant :
<script type='text/javascript'>
function remplirInput(elm){

//valeur selectionnée
var valSel =  elm.value;

//remplissage de l'input
var input_montant = document.getElementById('montant');
input_montant.value = varSel;

}
</script>

0
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   48
 
<form method="post"action="#">
              <select name="module" id="module" onchange='remplirInput(this);'>
   <?php 
     while ($SET=mysql_fetch_assoc($rs)) {
         echo "<option value='".$SET['cout_module']."'>".$SET['nom_module']."</option>";
       }
     ?>
 
</select>
         <br>    
        </option>
       </select><br>
      <label for="montant">Montant<em>*</em></label>
             <script type='text/javascript'>
function remplirInput(elm){

//valeur selectionnée
var valSel =  elm.value;

//remplissage de l'input
var input_montant = document.getElementById('montant');
input_montant.value = varSel;

}
</script>
      <input id="montant" name="montant">
        

</form>
cela ne s'affiche toujours pas !!
les modules s'affiche dans le select mais quand je choisi un module le montant ne sort pas dans le inpunt ,le module et le montant sont stocké dans une table appele module
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Pettie erreur de copier/coller dans le script.

Tiens, voici le "bon"
function remplirInput(elm){
//valeur selectionnée
var valSel =  elm.value;
//remplissage de l'input
var input_montant = document.getElementById('montant');
input_montant.value = valSel;

}



Par contre... dans TON code ... peux tu m'expliquer ce que viennent faire les lignes
 </option>
       </select><br>

qui.... si tu regardes bien.... sont en "trop" !
Il faut que tu les retire.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   48
 
lol ok merci bien ça marche
merci!!!
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
0
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   48
 
maintenant j'ai un autre souci en fonction de ce montant je veux appliquer une reduction je reflechis mais je trouve pas la bonne conbinaison
 <label for="reduction">Réduction </label>
     <select name="Reduction" id="reduction">
        <option value="pas">pas</option>
              <option value="5">5%</option>
               <option value="10">10%</option>
                <option value="15"> 15%</option>
                 <option value="20">20%</option>
                 <option value="25">25%</option>
                 <option value="30">30%</option>
                 <option value="35">35%</option>
                 <option value="40">40%</option>
                 <option value="45">45%</option>
                 <option value="50">50%</option>
       </select><br>
        <label for="montant">Montant fin</label>
      <input id="montantf" name="montantf" value=//montant final><br>
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

maintenant j'ai un autre souci

Autre question... = Nouvelle Discussion.

Pour faciliter la recherche sur le forum... il est préférable de ne poser qu' UNE seule question par discussion.
Donc merci de bien bouloir mettre en résolu cette discussion et en ouvrir une autre pour exposer ta nouvelle question;

PS: Je peux déjà te dire que la réponse passera là encore par du javascript....
0
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   48 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
ok merci!!
0