Liste déroulante et champs texte

Résolu
cs_didine6 Messages postés 81 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 7 août 2009 - 26 févr. 2007 à 10:36
cs_bultez Messages postés 13615 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

9 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 févr. 2007 à 11:48
>>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 />
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 févr. 2007 à 12:05
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 />
3
cs_didine6 Messages postés 81 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 7 août 2009
26 févr. 2007 à 13:32
Merci, c'est parfait...et très utile.
J'vais ptét me mettre au javascript finalement !

Didine
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 févr. 2007 à 14:08
>>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 />
0

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

Posez votre question
cs_didine6 Messages postés 81 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 7 août 2009
26 févr. 2007 à 15:31
T'as l'air calé.
Est ce que tu connais des bons tutoriels ? des livres ?

Didine
0
cs_didine6 Messages postés 81 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 7 août 2009
26 févr. 2007 à 16:07
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
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 févr. 2007 à 18:04
>>

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 />
0
cs_didine6 Messages postés 81 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 7 août 2009
26 févr. 2007 à 21:35
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
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
27 févr. 2007 à 09:28
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 />
0
Rejoignez-nous