Accueil > Forum > > > > Liste déroulante php + remplissage automatique de champs
Liste déroulante php + remplissage automatique de champs
dimanche 24 avril 2005 à 10:50:00 |
Liste déroulante php + remplissage automatique de champs

fullzone
|
Bonjour ! Je suis actuellement face à un vrai casse-tête, qui sera peut-être très simpliste pour vous ;)
Dans un formulaire, j'ai une liste déroulante dans laquelle doit apparaître les champs $fnom de ma table $table_fourn
Donc tous les noms de société se trouvant dans cette table se trouvent dans la liste. Ensuite, lorsque je sélectionne un nom, je dois voir apparaître automatiquement le nom du contact, son téléphone, la rue, le numéro, le code postal, etc ... dans les 'imput' se trouvant dessous (donc remplissage automatique).
Le problème est que je n'arrive qu'à faire remplir mes 'imput' que par les donnée du champs $fnom et uniquement celui-là. Pas moyene d'intégrer mes champs $fcontacta; $frue, $fnum, etc ... aux 'imput' prévus. Ce qui m'embête, c'est que je voudrais intégrer du PHP dans du JAVASCRIPT, mais comme tout le monde le sait ... c'est pas possible ;)
CODE : ________________________________________________________________________________ <? include("conf/mysql_connect.inc.php3"); $recup=mysql_query("SELECT * FROM $table_fourn ORDER BY fnom ASC "); $result = mysql_query($recup);
while ($ligne=mysql_fetch_array($recup)) { $val = $ligne[fnom]; $val1 = $ligne[fcontacta]; $val2 = $ligne[ffixea]; $val3 = $ligne[fportablea]; $val4 = $ligne[frue]; $val5 = $ligne[fnum]; $val6 = $ligne[fposte]; $val7 = $ligne[fville]; } ?>
<script language="JavaScript" type="text/JavaScript"> function rempl(val) { var newElt=new Option(val, val, true, false); document.getElementById("sel").options[document.getElementById("sel").length]=newElt; } function affich() { val=document.getElementById("sel")[document.getElementById("sel").selectedIndex].text; document.getElementById("aff").value=val; document.getElementById("aff1").value=val; document.getElementById("aff2").value=val; document.getElementById("aff3").value=val; document.getElementById("aff4").value=val; document.getElementById("aff5").value=val; document.getElementById("aff6").value=val; document.getElementById("aff7").value=val; } </script>
<? echo '<select size=1 name="sel" id="sel" onchange="affich()">'."\n"; // Récupération des informations triées par ordre alphabétique $sql = "SELECT * FROM $table_fourn ORDER BY fnom ASC"; $ReqLog = mysql_query($sql); while ($resultat = mysql_fetch_row($ReqLog)) { echo '<option value="'.$resultat.'">'.$resultat[3]; echo '</option>'."\n"; } echo '</select>'."\n"; ?> ________________________________________________________________________________ Vous allez me dire que je prends certainement la mauvaise direction, mais je tourne vraiment en rond. Y-a-t-il un tuto précis à ce sujet ??? Pouvez-vous m'aider ??? Merci à tous !
|
|
lundi 25 avril 2005 à 17:35:18 |
Re : Liste déroulante php + remplissage automatique de champs

djagger
|
Salut !
Il faut qu'a partir de tes tableaux php, tu crées l'équivalent js :
ex
<script> mesVilles=Array(); mesRues=Array();
<?php $i=0; while ($ligne=mysql_fetch_array($recup)) { echo "mesVilles[".$i."] = ".$ligne[fville].";\n"; echo "mesRues[".$i."] = ".$ligne[frue].";\n"; etc .... } ?> </script>
et après dans ton select, tu fais onChange="javascript:maFonction()" . Avec maFonction qui récupère l'index sélectionné, et qui rempli avec les lignes des tableaux correspondantes !
function maFonction() { index=document.monForm.monSelect.selectedIndex; document.monForm.maVille.value=mesVilles[index]; document.monForm.maRue.value=mesRues[index]; }
un truc dans le genre, j'ai pas testé mais ca devrait etre quasi bon ! allé a+++
|
|
lundi 25 avril 2005 à 17:36:07 |
Re : Liste déroulante php + remplissage automatique de champs

djagger
|
arfff j'ai oublié un :
$i++;
dans le while !
|
|
lundi 25 avril 2005 à 18:57:06 |
Re : Liste déroulante php + remplissage automatique de champs

fullzone
|
J'essaie ça de suite ! D'avance un grand merci pour ton dévouement ;)
|
|
lundi 25 avril 2005 à 19:37:23 |
Re : Liste déroulante php + remplissage automatique de champs

fullzone
|
J'ai encore un petit soucis ... bon je débute aussi ;)
Je ne comprends toujours pas que tu m'insère une balise PHP entre 2 balise <script>
Après une probable mauvaise interprétation de ton opération, je me retrouve avec l'affichage des bons résultats, certes, mais tous alignés sur une ligne tout en haut de ma page (dans le head) ... sans doute la balise ECHO mal placée ...
Je m'arrache les cheveux lol
|
|
mardi 26 avril 2005 à 09:50:33 |
Re : Liste déroulante php + remplissage automatique de champs

djagger
|
En fait je mets le php entre deux balises <script> pour créer toutes les variables en js ! Mais mets ca entre tes balises <script> !
y'a une petite erreur ! Il faut mettre les variables entre ' : c'est du texte ! donc ca fait dans la boucle while : echo "mesVilles[".$i."] = \"".$ligne[fville]."\";\n";
Après, dans ton navigateur tu obtiens un truk dans le genre :
mesVilles=Array(); mesRues=Array();
mesVilles[0]="Rennes"; mesRues[0]="République; mesVilles[1]="Nantes"; etc ....
Du coup, tu as toutes tes données de tes tables dans des var js ! Après tu peux donc y accèder avec la fonction js ! voila ! Si tu comprends pas hésite pas !
|
|
mardi 26 avril 2005 à 14:43:26 |
Re : Liste déroulante php + remplissage automatique de champs

fullzone
|
Pour plus de clarté dans mes propos, voici le code que j'ai ré-adapté en fonction de tes conseils :
1. <?php
include "header.inc.php3"; include("conf/conf.inc.php3"); include("conf/mysql_connect.inc.php3"); $recup=mysql_query("SELECT * FROM $table_fourn ORDER BY fnom ASC "); $result = mysql_query($recup);
while ($ligne=mysql_fetch_array($recup)) { $fnom = $ligne[fnom]; $fcontacta = $ligne[fcontacta]; } ?> /////////////////////////////////////////////////////////////////////////////////////////// 2. <script language="JavaScript" type="text/JavaScript"> function affich() { index=document.dnom.fnom.selectedIndex; document.dnom.fnom.value=nom[index]; document.dcontact.fcontacta.value=contact[index]; } </script> <script> nom=Array(); contact=Array();
<?php $i=0; while ($ligne=mysql_fetch_array($recup)) { echo "nom[".$i."] = \".$ligne[fnom].\";\n"; echo "contact[".$i."] = \".$ligne[fcontacta].\";\n"; $i++; } ?> </script> /////////////////////////////////////////////////////////////////////////////////////////// 3. Maintenant, j'ai du mal à adapter mon menu déroulant (select) en fonction, sachant que mes fournisseurs doivent y apparaître, et qu'en en sélectionnant un, son nom doit apparaitre dans le champs appelé [dnom] et le contact dans le champs [dcontact]. Comment dois-je m'y prendre ? Encore un tout tout tout grand merci à toi ;)
|
|
mardi 26 avril 2005 à 14:55:35 |
Re : Liste déroulante php + remplissage automatique de champs

djagger
|
de rien ;)
là ca a l'air pas mal ! [juste : ca sert a rien de refermer ta balise <script> si tu en réouvres une juste derrière ! c comme si tu fesais <b>gras</b><b>encore gras</b> ! ca sert a rien ;) ]
après il faut que sur ton select tu mettes une action onChange : <select name="monSelect" onChange="javascript:affich()"> <option .....etc> </select>
Et la fonction affich doit etre bonne !
Dernière petite chose, si tu veux initialiser tes champs tu fais dans ta balise BODY :
<BODY onload="javascript:affich()">
pour appeler ta fonction au chargement de la page !
|
|
mardi 26 avril 2005 à 15:03:29 |
Re : Liste déroulante php + remplissage automatique de champs

fullzone
|
Dernière précision (après j'espère que ça fonctionnera)
Voici ma balise select : ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// <? echo '<select size=1 name="selectedIndex" id="selectedIndex" onChange="javascript:affich()">'."\n"; // Récupération des informations triées par ordre alphabétique $sql = "SELECT * FROM $table_fourn ORDER BY fnom ASC"; $ReqLog = mysql_query($sql); while ($resultat = mysql_fetch_row($ReqLog)) { echo '<option value="'.$resultat.'">'.$resultat[3]; echo '</option>'."\n"; } echo '</select>'."\n"; ?> /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Dans le menu déroulant se trouvent bien mes nom de société. Par contre, dans le champ nom et contact en dessous, que dalle, nada, rien ! Le problème est-il dû à ma balise SELECT ou dois-je modifier le NAME ou ajouter un ID à mes champs ou autre chose ???
Encore merci
|
|
Cette discussion est classée dans : ligne, document, value, val, getelementbyid
Répondre à ce message
Sujets en rapport avec ce message
[PHP ET JS] Copier des multiples champs dans d'autres [ par marc660 ]
BonjourJ'utilise une fonction javascript pour copier la valeur dans champ dans un autre.Le problème réside dans le faite que j'ai plusieurs champs a c
Probleme d'envoi avec IE [ par aaka ]
Bonjourj'ai un formulaire qui marche sous FF et Chrome mais pas avec IE. J'obtiens le message de vérification alors que les champs sont remplis ? pouv
aide [ par lucien1988 ]
salut je viens d'écrire un code pour executer un formulaire mais on me dit qu'il ya une erreur a la ligne 143. aidez moi a la resoudre voici les lign
aide [ par lucien1988 ]
salut je viens d'écrire un code pour executer un formulaire mais on me dit qu'il ya une erreur a la ligne 143. aidez moi a la resoudre voici les lign
bouton + et - dans panier [ par carolet ]
Bonjour, Besoin d'aide svp : J'ai un panier d'achat dans lequel je voudrais ajouter des boutons + et - pour modifier la quantité. Ca fonctionne, seul
insere des donne javascripte dans une BD [ par somapi ]
salue les amies j'ai un pFe qui consiste à crée une ma interactive bon, ma problème c'est que j'ai des donne dans ma base j aimerait bien récupère ces
faire apparaitre et disparaitre des div PHP javascript CSS [ par jeffreynaz ]
Bonjour à tous je vous supplie de m'aider. j'explique le probleme : je fais un site sur lequel on peut publier des articles et les commenter et fair
Verif formulaire [ par scorpion077 ]
Bonjourj'ai programmé deux pages en php. 1: index =...................................................................................................
l'evenement onchange avec 2 combobox [ par emii ]
Bonjour, voile mon probleme j ai deux combobox la deusieme combobox doit etre remplit en se basant sur le choix effectuer dans la premiere combobox
Problème diaporama [ par tsukiworld ]
Bonjour à tous, Voila j'ai problème avec mon diaporama. j'aimerai pour afficher plusieurs images provenant d'un même dossier sans taper image par ima
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|