asdeejay
Messages postés9Date d'inscriptionjeudi 24 février 2005StatutMembreDernière intervention10 juillet 2008
-
20 mai 2007 à 04:27
cs_le_totophe
Messages postés51Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention26 mai 2007
-
26 mai 2007 à 13:18
Bonjour
J'ai un formulaire avec une liste déroulante qui a ete rempli a partir d'une base de donnée mysql, et j'ai du mal a recupérer la valeur saisit ,"la recuperer dans une variable".
La variable recuperée va servir pour une autre requéte et le resultat de cette va etre affiché dans une zone texte.
j'ai essayé avec $_post[] ca marche pas.merci.
cs_le_totophe
Messages postés51Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention26 mai 20072 20 mai 2007 à 13:29
Je vais peut-être répondre à côté de la plaque mais je vais essayer que non.
Donc au début tu interroges ta base (admettons que tu ne sélectionnes qu'une seule colonne dans ta requête).
Partons du principe que dans ton code le "form" est déjà défini et le "select" aussi.
Ensuite tu fetch ton résultat autant de fois que nécessaire avec un compteur nommé $i. La valeur récupérée sera donc $row[$i].
donc à chaque fois tu vas créer une option sous cette forme:
echo '<option value="'.$row[$i].'">'.$row[$i].'</option>
';
si ton select s'appelle "selection" ta variable $_GET['selection'] ou $_POST['selection'] aura pour valeur le $row[$i] selectionné.
Au pire si ça ne marche pas, essaye pour voir s'il n'y a pas un autre problème, tu crées un champ texte nommé "resultat", tu rajoutes à "selection" un évènement onchange="javascript:test();"
Puis une fonction javascript :
function test()
{
document.forms[0].elements['resultat'].value = document.forms[0].elements['selection'].value;
}
Logiquement le champ texte devrait récupérer la valeur sélectionnée dna sla liste puis lors de la validation (que tu peux forcer dans ton javascript par un document.forms[0].submit();) ta variable $_GET['resultat'] ou $_POST['resultat'] devrait avoir la bonne valeur parce que sinon c'est pas possible.
ou alors autre solution avant de valider le formulaire tu peux donner pour valeur à résultat la valeur document.forms[0].elements['selection'].text ou document.forms[0].elements['selection'][document.forms[0].elements['selection'].selectedIndex].text] je ne rappelle plus.
asdeejay
Messages postés9Date d'inscriptionjeudi 24 février 2005StatutMembreDernière intervention10 juillet 2008 20 mai 2007 à 11:14
Salut ,
Oui je l'ai utilisé en majuscule.
Voila la liste deroulante est rempli a partir d'une base.et j'aimerai recuperer la valeur choisi dans la liste dans une variable.
</html>
------------------------------------------
et dans la page dest.php tu met
<?php
echo $_POST['listeval'];
?>
------------
avant le submit du form en stocke la valeur de la liste dans un hidden, et puis le formulaire se submit, et la valeur choisie serai bien stocké dans le nom du hidden
<hr size ="2" width="100%" />Au début, on essaye de trouver une solution qui marche, et puis on cherche la meilleure solution.
cs_stefh
Messages postés15Date d'inscriptionmercredi 18 avril 2007StatutMembreDernière intervention28 septembre 2007 26 mai 2007 à 04:19
slut les gars!
j'ai une petite remarque le_totophe:
"que tu peux forcer dans ton javascript par un document.forms[0].submit();) "
comment tu peux dire au serveur que tu veux un submit pour actualiser la page et non pas pour executer le code de bouton (envoyer)???
merci pour ta Rép :)
cs_le_totophe
Messages postés51Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention26 mai 20072 26 mai 2007 à 13:18
Pour [auteurdetail.aspx?ID=1038961 stefh]:
> comment tu peux dire au serveur que tu veux un submit pour actualiser
la page et non pas pour
> executer le code de bouton (envoyer)???
Déjà au serveur tu lui dis rien; PHP est interprêté par le serveur, mais là c'est du JavaScript qui est donc interprêté par le navigateur (si JavaScript est activé).
Bon on va un peu déborder du cadre de phpcs.com mais c'est pas grave (je pense)...
Pour faire ce que tu veux, tu as 2 solutions, une sale et une propre.
<li>La sale tout d'abord: tu crees une fonction JavaScript que tu appelles admettons recharge(). Dans la balise <form> tu ajoutes onSubmit="return recharge();" Ta fonction recharge() recharge alors la page et retourne faux ('return false;') donc tu as rechargé ta page et le formulaire n'est pas envoyé. Tu auras perdu les saisies lors du rechargement. ou tu retournes vrai et le formulaire est envoyé.
</li><li>Solution propre: tu ne mets pas de mais dans ta balise tu rajoutes onClick="javascript: recharge();" on se fout alors de la valeur de retour. Dans la fonction recharge() if(condition vraie) { document.forms[x].submit(); } else { //On recharge la page }
</li>Voilà j'espère que ça sera bon pour toi. Pour recharger une page, je ne me souviens plus exactement du code, y a un truc avec document.location mais je ne l'ai plus en tête.