begin process at 2012 05 30 15:17:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Liste déroulante php + remplissage automatique de champs


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales