Changer un textarea a partir d une liste deroulante

Changer un textarea a partir d une liste deroulante - PHP - Programmation

Marsh Posté le 06-03-2009 à 11:42:22    

Bonjour a tous,
j'ai un petit soucis dans une page de mon programme,
en gros j ai une liste deroulante qui affiche des codes et un textarea vide,dans ma base de données j'ai une table Question avec comme clé primaire "code_question" qui est le code qui est dans la liste et un champ "enonce".
au lancement de la page je fait une reque de type "Select *" pour remplir la liste, j aimerait qu en choisissant une valeur dans la liste le textarea affiche l "enonce" correpondant au code selectionné.
 
j aimerait savoir si c est possible de faire ceci
merci d avance
 


---------------
http://forum.hardware.fr/hfr/Achat [...] 8770_1.htm
Reply

Marsh Posté le 06-03-2009 à 11:42:22   

Reply

Marsh Posté le 06-03-2009 à 13:54:27    

Comme dirait mon boss, "tout est possible, c'est une question de temps et d'argent..."
Pour ta question, oui c'est possible mais il ya plusieurs moyens pour y arriver.
Tout dépends du langage dans lequel tu codes, des contraintes que tu as (temps de réponse, volumétrie de la table), etc ...
Par ex :
- Tu peux charger toute ta table dans ta page html en champ cachés, puis en gérer en javascript le remplissage de ton textarea par la valeur correspondante cachée.
- Tu peux faire de l'ajax.
 


---------------
By bob.
Reply

Marsh Posté le 06-03-2009 à 14:01:48    

Il y a trois solutions possibles :
 
1. Ajax
 
2. Faire un submit() sur le onChange dans le <Select >, afin d'envoyer au serveur, l'option selectionnée. Puis, le serveur, via PHP, va chercher les données associées et créer une nouvelle page qui va être envoyée à l'utilisateur.
 
3. En même temps que l'envoi initiale de la page contenant la listbox, inclusion de toutes les données associées dans des champs cachés de la page. Lorsque l'utilisateur fait une sélection, un javascript va faire apparaitre les données cachées en relation avec la sélection.
 

Reply

Marsh Posté le 09-03-2009 à 09:32:35    

Bonjour, merci de vos reponses desole du retard mais bon week end oblige ^^
 
donc charger toute la table sa me parait assez gourmand et ajax je ne connait pas.
je code en html / php / javascript
j aimerait faire cela sans changer de page
 
voici un bout de code :
/* requete qui va servir a remplir ma liste deroulante*/
<?
$req="SELECT * FROM QUESTION ;";
  $R=mysql_query($req) or die ("Erreur dans la requête 1".mysql_error());
?>
<form name="Form1" action="SupQuestion.php" method="POST"><br>
   <select name="la_selection"  align=center onchange='EcritureArea()'><?
  while ($L= mysql_fetch_array($R))
  {
   echo "<option value='".$L['CODE_QUESTION']."'>".$L['CODE_QUESTION'] ." </option>";
 
  };
?>
</select>
<br>
<center><textarea name="EnonceQuestion" rows=5 readonly> </textarea></center>
<br><br><br>
<input type=submit value=Supprimer>
<input type=reset value=Annuler></form>
 
 
 
et la  function  
 
EcritureArea()
 {
  document.Form1.EnonceQuestion.value ="test";
 }
 
a la place de "test" le but c est d avoir le champs enonce de la table Question.
 
par contre olivthill je ne comprend pas trop la 2eme option :(


---------------
http://forum.hardware.fr/hfr/Achat [...] 8770_1.htm
Reply

Marsh Posté le 09-03-2009 à 10:01:16    

par contre olivthill je ne comprend pas trop la 2eme option  
 
Il te propose de recharger la page : c'est la solution la plus facile, l'utilisateur choisit une option, tu envoies toutes les infos du formulaire en cours (en faisant un form.submit(), tu recharges la page avec la liste déroulante remplie comme il faut.


Message édité par fluminis le 09-03-2009 à 10:02:06

---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 09-03-2009 à 10:54:21    

ok merci je vais essayer cela, mais je peux faire un submit dans un OnChange?
 
dans la balise select je met quelque chose du genre onChange = Form.submit(); c est bien ça?


---------------
http://forum.hardware.fr/hfr/Achat [...] 8770_1.htm
Reply

Marsh Posté le 09-03-2009 à 11:23:20    

<select name="truc" onchange="this.form.submit()">


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 09-03-2009 à 12:05:25    

wurmike a écrit :

j aimerait faire cela sans changer de page


fluminis a écrit :

<select name="truc" onchange="this.form.submit()">


En l'occurrence, l'inconvénient de cette technique au niveau ergonomie, c'est que ça te force à recharger ta page à chaque sélection d'un élément dans ta liste.
C'est sûr que c'est la technique la plus simple si tu ne peux pas tout charger dans ta page.
En ce qui me concerne, je conseille plus l'ajax, c'est sûr que c'est plus compliqué à mettre en place mais le submit onchange c'est un peu old school, après c'est mon avis personnel ...


---------------
By bob.
Reply

Marsh Posté le 09-03-2009 à 14:04:48    

en faisant avec le submit() c est bon j arrive a ce que je voulait merci encore a tous pour votre aide.
Concernant l'Ajax je vais bienôt me pencher dessus voir si j'y comprend quelque chose ou pas ^^
encore merci


---------------
http://forum.hardware.fr/hfr/Achat [...] 8770_1.htm
Reply

Marsh Posté le 09-03-2009 à 14:16:17    

superbob56 a écrit :

Comme dirait mon boss, "tout est possible, c'est une question de temps et d'argent..."


 
Tout a fait d'accord avec ça. D'ou ma proposition de la méthode old school.
 
Si tu as pleins de temps devant toi, alors regarde ce qu'il est possible de faire en Ajax.
Si tu veux faire un truc rapide, la methode du submit peux te faire avancer a autre chose assez vite.


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 09-03-2009 à 14:16:17   

Reply

Marsh Posté le 09-03-2009 à 14:22:52    

Ouais en fait j'ai un travail a rendre donc je fait de la maniere la plus simple et rapide qu' il soit mais ensuite j'ameliorerais surement avec de l'Ajax.
 


---------------
http://forum.hardware.fr/hfr/Achat [...] 8770_1.htm
Reply

Marsh Posté le 09-03-2009 à 19:53:52    

fluminis a écrit :


 
Tout a fait d'accord avec ça. D'ou ma proposition de la méthode old school.
 
Si tu as pleins de temps devant toi, alors regarde ce qu'il est possible de faire en Ajax.
Si tu veux faire un truc rapide, la methode du submit peux te faire avancer a autre chose assez vite.


Je ne peux qu'être d'accord avec toi ... après si c'est une question de temps (ou d'argent ;) ) la méthode old school peut tout à fait faire l'affaire.


---------------
By bob.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed