Liste déroulante et affichage dépendant

Résolu
coolboarder17bzh Messages postés 13 Date d'inscription lundi 18 juillet 2005 Statut Membre Dernière intervention 18 août 2005 - 25 juil. 2005 à 08:55
coolboarder17bzh Messages postés 13 Date d'inscription lundi 18 juillet 2005 Statut Membre Dernière intervention 18 août 2005 - 25 juil. 2005 à 16:11
salut,



voila, je dispose dans le même td d'une liste déroulante qui est
remplie par rapport à une table et juste à côté d'un text. j'aimerais
que dans ce text s'affiche un enregistrement de ma table qui fait
partie du même champ que celui choisi dans ma liste déroulante.

j'ai bien compris qu'il faut utiliser du javascript mais je ne vois pas
ou le placer (j'ai bien tenter de le mettre dans le select mais je ne
parviens pas à recupérer le champ que je souhaite obtenir).



voici mon code :

<td>

<center>

//liste déroulante (fonctionne)

<select name="choix_periode">

<?php

$requete =
mysql_query("SELECT * FROM periode ORDER BY annee_debut_periode,
mois_debut_periode, jour_debut_periode");


$nombrelignes
= mysql_num_rows($requete);


for ($i = 0 ;
$i < $nombrelignes ; $i++)

{


$nom =
mysql_fetch_array($requete);


echo
'<option name='.$nom[0].'>'.$nom[1]."/".$nom[2]."/".$nom[3]."
-> ".$nom[4]."/".$nom[5]."/".$nom[6].'</option>';

}

?>

</select>



//zone text



style="background:#D4D0C8">



</center>

</td>





merci d'avance de vos pistes.

8 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
25 juil. 2005 à 10:28
Hello,



sur ta liste deroulante, dans le select :



onchange="document.getElementById('id_de_ta_form').date_depot_periode.value=this.value"
3
coolboarder17bzh Messages postés 13 Date d'inscription lundi 18 juillet 2005 Statut Membre Dernière intervention 18 août 2005
25 juil. 2005 à 16:11
oui cela marche, j'ai fait les rectifs car sur certain attributs il n'appréicie pas du tout



voila ce qui fonctionne chez moi

echo '<option name='.$nom[0].' value="'.$nom[7].'">... //il n'y avait qu'à changer dans les " et ' dans le value



puis:

">





cela fonctionne nikel maintenant, merci beaucoup pour le temps consacré et bonne journée

dur dur d'avancer rapidement sans phpcs.com
3
coolboarder17bzh Messages postés 13 Date d'inscription lundi 18 juillet 2005 Statut Membre Dernière intervention 18 août 2005
25 juil. 2005 à 11:12
aie, je me suis mal exprimé.



en fait je voudrais que suivant mon choix dans la liste déroulante, ma
zone de texte recoive un enregistrement (date_depot_periode)
correspondant à ce choix.

si je comprends bien ce que tu me donnes, ca devrait me changer ma
liste déroulante par date_depot_periode correspondant au choix effectué
précédement.



comme dans le code que j'ai mis plus haut je voudrais que le choix du select vienne dans le input en dessous.



enfin, peut-être ai-je mal compris ton script car j'avoue ne pas maitriser le javascript.



merci d'avance.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
25 juil. 2005 à 11:22
Non, c'est exactement cve que tu voulais lol.



Le onchange sur le select va dire : des que ma (ma = le select) valeur
change, je l'assigne a la valeur du champ nomme date_depot_periode.



Bref, le choix fait dans ton select va s'ecrire dans ton champ texte.
0

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

Posez votre question
coolboarder17bzh Messages postés 13 Date d'inscription lundi 18 juillet 2005 Statut Membre Dernière intervention 18 août 2005
25 juil. 2005 à 15:20
oui tu as raison j'avais mal arrangé ta ligne de code.

par contre, juste une derniere chose, je ne comprend pas pourquoi il me tronque mon enreigstrement.



<select name="choix_periode" onChange="document.getElementById('toto').date_depot_periode.value=this.value"">

<?php


$requete =
mysql_query("SELECT * FROM periode ORDER BY annee_debut_periode,
mois_debut_periode, jour_debut_periode");



$nombrelignes
= mysql_num_rows($requete);


for ($i = 0 ;
$i < $nombrelignes ; $i++)

{


$nom =
mysql_fetch_array($requete);


echo
'<option name='.$nom[0].' value='.$nom[7].'>'.$nom[1]."/".$nom[2]."/".$nom[3]." -> ".$nom[4]."/".$nom[5]."/".$nom[6].'</option>'; Mon value se base sur le champ que je veux mettre dans mon text plus loin


}


?>

</select>



"> // ce echo est pour la premiere fois pour recup au chargement de la page



le hic donc c'est qu'il me tronque mon champs quand j'utilise le onChange
: par exemple, au lieu de m'ecrire Mercredi 12 Septembre, il m'écrit
Mercredi. de même si je supprime mercredi dans ma table il m'affiche 12.

auriez-vous une idée ?



merci d'avance.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
25 juil. 2005 à 15:24
Ok, je te guide juste... ;-) :



en html, les attributs d'un element devraient etre delimites par des
guillemets. En tous cas, le navigateur interpretant le html doit avoir
un moyen de savoir ou commence et ou s'arrete la valeur de l'attribut.
S'il ne trouve pas de delimiteur, il va s'arreter au 1er espace
rencontre.



Pour repondre plus avant , regarde la source html de ta page, tu verras le probleme je pense.
0
coolboarder17bzh Messages postés 13 Date d'inscription lundi 18 juillet 2005 Statut Membre Dernière intervention 18 août 2005
25 juil. 2005 à 15:53
je suis désolé mais pas moyen de trouver, à chaque nouvelle manip ca me fait une erreur javascript ...

j'ai bien essayé les "" ou '' dans tous les sens mais je vois pas ...

c'est pas les erreurs les plus voyantes que l'on voit le plus tard non ?
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
25 juil. 2005 à 16:01
echo '<option name="'.$nom[0].'" value="'.$nom[7].'">...



" />



Ca marche ?
0
Rejoignez-nous