Liste déroulante et affichage dépendant [Résolu]

Signaler
Messages postés
13
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
18 août 2005
-
Messages postés
13
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
18 août 2005
-
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

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Hello,



sur ta liste deroulante, dans le select :



onchange="document.getElementById('id_de_ta_form').date_depot_periode.value=this.value"
Messages postés
13
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
18 août 2005

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
Messages postés
13
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
18 août 2005

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.
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
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.
Messages postés
13
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
18 août 2005

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.
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
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.
Messages postés
13
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
18 août 2005

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 ?
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
echo '<option name="'.$nom[0].'" value="'.$nom[7].'">...



" />



Ca marche ?