Combo box

jhierso Messages postés 6 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 6 octobre 2008 - 5 oct. 2008 à 10:18
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 6 oct. 2008 à 09:23
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

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
5 oct. 2008 à 11:01
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]
0
jhierso Messages postés 6 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 6 octobre 2008
5 oct. 2008 à 14:14
- 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'
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
5 oct. 2008 à 14:39
>>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]
0
jhierso Messages postés 6 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 6 octobre 2008
5 oct. 2008 à 14:48
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'
0

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

Posez votre question
jhierso Messages postés 6 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 6 octobre 2008
5 oct. 2008 à 14:50
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
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
5 oct. 2008 à 14:56
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]         
0
jhierso Messages postés 6 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 6 octobre 2008
5 oct. 2008 à 15:05
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
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
6 oct. 2008 à 08:30
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]
0
jhierso Messages postés 6 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 6 octobre 2008
6 oct. 2008 à 08:53
Bonjour et merci je vais faire des tests

@++++
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
6 oct. 2008 à 09:23
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]
0
Rejoignez-nous