Combo box

Signaler
Messages postés
6
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
6 octobre 2008
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour,
J'ai une base de donnée agents (matricule, nom et téléphone) et un formulaire que je dois remplir avec les 3 champs. le champ agent est une combo box qui appelle la liste des agents.
Quand je choisie un agent son matricule et son telephone doivent s'afficher dans les 21 autres champs.
J'ai dans ma balise :
<script>
function actuagent(){
 document.insertion.matricule.value = document.insertion.agents.value;
 document.insertion.telephone.value = document.insertion.agents.value;
 }
 </script>
et dans mon formulaire en rouge la combo box et les autres champs:
<form name="insertion"
                  action="agent_insertok.php"
                  method="POST" class="Style6"
                  onsubmit = 'return controlegeneral()';>
                             
                      ----

                        ,
                       
                          " />
                        ,
                     
                      ----

                        Heure : ,
                        " size="8" maxlength="6" />,
                     
                       ----

                      Matricule : ,
                        ,
                     
                      ----

                        Agents : ,
          <select name=agents size=1 onchange='actuagent()' style='width:200px'>
           <option selected>Choisir un agent</option >
          <?php connexion_listecombobox('SELECT matricule, nom, telephone FROM agents ORDER BY nom ASC', ''); ?>
          </select>,

----

     T&eacute;l&eacute;phone : ,
     ,

----

     Service : ,
     <select name="service" size="1" id="service">
                    <option selected>Choisir un service</option >
                      <?php connexion_listecombobox('select nom, nom from service', ''); ?>
                    </select>
   ,

----

    Portable : ,
    <select name="portable" size="1" id="portable">
                    <option value="">Faite votre choix</option>
                    <option value="Talkie">Talkie</option>
                    <option value="PAP">PAP</option></select>
   ,

----

                        N&deg; : ,
                        ,
                     
                      ----

                        Lieu : ,
                        <select name="attachement" size="1" id="attachement" style="width:200px">
                            <option value="">Faite votre choix</option>
                            <?php
                              connexion_listecombobox('select attachement, attachement from attachement', '');
                                  ?>
                            </select>,
                     
                      ----

                        &nbsp;,
                        " />
                        " />,
                     
                      ----

                                                   
                       ,
                     
         

          </form>
Povez vous m'aider à comprendre pour quoi çà ne fonctionne pas

Merci

10 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
bonjour,

21 autres champs ? où qui sont-y ?

que fais-tu dans connexion_listecombobox en php ?

où mémorises-tu matricule, nom, telephone ?

 chaque ligne ( option ) d'un select ( entre nous un combobox ça n'existe pas ! )
 ne peut contenir que 2 valeurs : value et text.
 tu en met plusieurs dans le .value avec un séparateur entre ?

quand tu choisis une ligne, tu fais :
 
document.insertion.matricule.value = document.insertion.agents.value;
document.insertion.telephone.value = document.insertion.agents.value;

donc matricule=telephone=value de l'option sélectionnée
si le .value contient plusieurs valeurs avec un séparateurs,
il faut les exploiter ( split ? )

il vaudrait mieux d'ailleurs ne poster que l'extrait nécessaire
de la page résultante.. pas le php !!!!  ( et j'ai bien dit l'extrait !
pas 256895 lignes ! ) sinon on devine comment le contenu de la
base de données, ce que génère le php ... ?

Cordialement

Bul[mon Site][M'écrire]
Messages postés
6
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
6 octobre 2008

- Désole c'est une erreur de frappe, il n'y a que 2 champs
- Dans connexion_listecombobox j'affiche la liste des agents et quand je
sélectionne l'un d'entre eux, j'affiche son matricule et son phone.
- matricule, nom, telephone sont dans une bdd'agents'
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
>>j'affiche son matricule et son phone.

t'es sur ? dans le .text du select alors ?

>> matricule, nom, telephone sont dans une bdd'agents'
certes... mais tu l'as déjà traité cette bdd,
  pour créer le select...

  si tu ne mémorises pas les données quelque part coté client
     ( le mieux dans l'option du select ? )
     il va te falloir au onchange rappeler le php pour qu'il
     te retourne ces données en fonction de l'option choisie.

Bul[mon Site][M'écrire]
Messages postés
6
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
6 octobre 2008

dans le select j'affiche les noms et quand je clic sur un nom,le matricule s'affiche. Et je valide et j'enregistre dans la bdd 'service'
Messages postés
6
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
6 octobre 2008

Mon problème est que sur la page de mon formulaire j'arrive à afficher le nom et le matricule mais pas le téléphone
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
j'ai bien compris !!!

mais où le mémorises-tu ce n° de téléphone coté client ?

si tu ne le fais pas comment le traiter ???  il faudrait rappeler le php ( ce qui serait un peu inutile )

je te disais : met le dans le .value avec le matricule séparé par un "\t" par exemple
et quand tu veux afficher fait un split sur le .value

          Bul [mon Site] [M'écrire]         
Messages postés
6
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
6 octobre 2008

Je le mémorise dans la bdd 'service'(id,matricule, nom, téléphone, service).
Je suis débutant en php et j'ai un peu de mal à te saisir cette partie : met le dans le .value avec le matricule séparé par un "\t" par exemple
et quand tu veux afficher fait un split sur le .value .
Peux tu me donner un exemple STP

Salut
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
un exemple ?

quand tu crée l'option en php : <?echo '<option value='.$telephone.'\t'.$nom.'\t'.$service.''.'>'.$matricule.'</option>';

et dans le onchange : 
var tab=le select.options[le select.selectedIndex].value.split("\t");
tab[0]=téléphone
tab[1]=nom
tab[2]=service
le select.options[le select.selectedIndex].text=matricule

Bul[mon Site][M'écrire]
Messages postés
6
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
6 octobre 2008

Bonjour et merci je vais faire des tests

@++++
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
erreur de syntaxe d'ailleurs...
<?php echo '<option value="'.$telephone.'\t'.$nom.'\t'.$service.'">'.$matricule.'</option>';
ou pas loin ;o)
Bul[mon Site][M'écrire]