Liste déroulante et champs texte [Résolu]

Messages postés
81
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
7 août 2009
- - Dernière réponse : cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
- 27 févr. 2007 à 09:28
Bonjour @ tous !
Voici mon soucis :
j'ai une liste déroulante contenant les données du BD mysql.
Je
souhaite affiche dans un les champs associées à la valeur
sélectionnée dans la liste déroulante sans passer par un bouton valider.
Je souhaite éviter aussi de passer par du javascript pke je déteste ça (sauf si c'est vraiment la seule solution).

Voici un bout de mon code

<tr>
          <td>Enveloppe</td>
          <td><select name="env_b" onchange="">
                 <option value="">- Enveloppe -</option>
               <?php
               $sql="SELECT num_env_b,libelle,article_b,chapitre_b,fonction_b,
                     gestionnaire,gest FROM env_bene,membre
                     WHERE env_bene.gestionnaire=membre.gest
                     AND membre.login='".$_SESSION['nom']."'";
               echo $sql;
               $res=mysql_query($sql) or die (mysql_error());
               while($row=mysql_fetch_array($res))
              {
               echo "<option value='".$row['num_env_b']."'>".$row['num_env_b']." / ".$row['libelle']."</option>";
              }
              ?>
              </select>
          </td>
          <td>"></td>
         </tr>

Didine
Afficher la suite 

9 réponses

Meilleure réponse
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
26
3
Merci
>>Je souhaite éviter aussi de passer par du javascript pke je déteste ça
           ah bon ? quelle idée ! c'est superbe le javascript...
               pourquoi cet à priori ?

>>sans passer par un bouton valider.
        ah... là t'es mal, car pour agir sans valider :  javascript obligatoire....

par contre tu nous donnes le php, et nous on en faut quoi ?
    déjà, on n'a pas ta base de données... il faut fournir la page
    html générée !!!! ( enfin un extrait )

    enfin, pour ici, ça devrait aller...

    ajoute  id="toto" à l'input text
    et sur le select,
    ...onchange=" document.getElementById('toto').value=this[this.selectedIndex].text; " ...

    encore un truc, si select n'a pas de size, la 1ère ligne est sélectionnée par défaut
       et cliquer dessus ne provoquera pas de onchange
    met size=2 au moins ou
    ajoute onfocus="this.selectedIndex=-1;"



<hr />



Cordialement                Bul             [mon Site]     [M'écrire]     




<hr />

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 131 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
26
3
Merci
ma dernière remarque est sans <option value="">- Enveloppe -</option>
    que je n'avions point vu.


si tu le laisses, il faudra tester que this.selectedIndex est >0
mais moi : "j'aime pas"
j'utilise <optgroup label="- Enveloppe -">
                .... les options générées
             </optgroup>

<hr />


Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 131 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_bultez
Messages postés
81
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
7 août 2009
0
Merci
Merci, c'est parfait...et très utile.
J'vais ptét me mettre au javascript finalement !

Didine
Commenter la réponse de cs_didine6
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
26
0
Merci
>>J'vais ptét me mettre au javascript finalement !

ce serait dommage de ne pas le faire. la navigation web peut être améliorée,
    et avec ActiveX pour IE, XUL/XPCom pour FF... on peut développer des
    applications "normales" ( gestion de fichiers, base de données ... au moins
    en local ), un langage de programmation quoi.



<hr />



Merci du retour            Bul         [mon Site]     [M'écrire]        




<hr />
Commenter la réponse de cs_bultez
Messages postés
81
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
7 août 2009
0
Merci
T'as l'air calé.
Est ce que tu connais des bons tutoriels ? des livres ?

Didine
Commenter la réponse de cs_didine6
Messages postés
81
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
7 août 2009
0
Merci
Et une dernière question, comment je fais pour récupérer cette valeur dans une variable afin de l'utiliser dans une requête ?

Didine
Commenter la réponse de cs_didine6
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
26
0
Merci
>>

T'as l'air calé.

    j'arive à le faire croire, mais je ne comprend pas grand chose

>>Est ce que tu connais des bons tutoriels ? des livres ?
    non. j'utilise la doc  (.chm )  de SelfHTML , mais ce n'est pas
     pour apprendre, c'est un truc de référence  ( la version htm existe
    les 2 sont téléchargeables et en français )

>>comment je fais pour récupérer cette valeur dans une variable afin de l'utiliser dans une requête
    un name pour le champ désiré, dans le formulaire qui sera transmis.




<hr />



Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
Commenter la réponse de cs_bultez
Messages postés
81
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
7 août 2009
0
Merci
Non, non tu n'as pas compris.
Je veux récupérer la valeur de ma liste déroulante dans un . ça ok, j'ai réussi.
Et je veux ensuite faire une requête avec cette variable dans le même formulaire...

Didine
Commenter la réponse de cs_didine6
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
26
0
Merci
Bonjour,

pour faire une requête, il faut le faire en PHP.
pour appeler le PHP, il faut le faire par un formulaire
( action="nom du.php" method="post ou get"... )
et tous les champs de ce formulaire qui ont un name sont
traitables par le php. ( on peut aussi faire ça à travers l'URL ).

<hr />


Cordialement            Bul         [mon Site]     [M'écrire]     




<hr />
Commenter la réponse de cs_bultez