Comment recuperer la valeur d'une selection liste deroulante dans variable php [Résolu]

Signaler
Messages postés
144
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
22 mars 2006
-
Messages postés
1
Date d'inscription
mardi 2 mai 2006
Statut
Membre
Dernière intervention
14 juillet 2012
-
Bonjour et bonne année 2006 @ tous !!

je voudrais savoir comment recuperé dans une varable php la valeur de la selection d'une liste deroulante, j'ai fais un petit script en javascript et php mais c pas concluant

merci de m'aider !!

<SCRIPT tpy="TextJavaScript">


// sauvare la selection liste deroulante


function marque() {
i = document.Choix.Liste.selectedIndex;
if (i == 0) return;
choix = document.marque.marque.options[i].value;

}
</SCRIPT>
<?
echo'
<FORM NAME="marque">
<select name="marque" size="1" onChange="marque()">
<option>NAF NAF</option>NAF NAF
<option>Chevignon</option> Chevignon
</select>
</FORM>




';

?>

vive PHP !!!, vive la prog !!!

6 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
ah ! fallait le dire...
car finalement le problème n'est pas trop
"comment récupérer la valeur d'une sélection liste déroulante dans variable php".

il faut donc:
virer le bouton submit
ajouter dans le <select onchange="document.getElementById('frm').submit();">
si <form id="frm" name=frm"...>

mais, ça ne fonctionnera donc que pour les
personnes qui ont activé le javascript.

une remarque aussi, si le size du select est omis
ou est =1, la 1ère ligne est sélectionnée par défaut
et le onchange sur cette ligne ne fonctionnera pas.
donc :
soit mettre un size>1,
soit mettre une 1ère ligne qui sert de "titre" et
contrôler que selectedIndexe est bien > 0
avant soumission.
soit, derrière ce select, au chargement de la
page, mettre selecteIndex à -1.
soit utiliser on[dbl]click à la place de onchange
soit ... je ne vois plus pour le moment ...

Cordialement. Bul. ~ Site ~
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
Bonjour,
directement, sans JavaScript, ou je n'ai pas compris ???

tst.php :

<?php
if ( isset($_POST["sel"]) ) echo "<<<< ".$_POST["sel"]." >>>>";
?>
<form name="frm"
method="post"
action="tst.php">
<select name="sel">
<option value=1>un</option>
<option value=2>deux</option>
</select>

</form>

à mon humble avis, il vaudraitt mieux évitername formulaire name select nom d'une function ....
Cordialement. Bul. ~ Site ~
Messages postés
144
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
22 mars 2006

escusez moi en effet j'ai pas ete tres claire !


En fait je voudrais recuperer dans une variable la selection de la liste deroulante sans bouton submit afin de d'incorporer cette variable dans une requette.


exemple :


$sql="select * from boutique where marque =".$marque;

pour afficher dynamiquement des information qui son en base !

merci de votre aide et encore pardon pour mon inprecision !

Frederic

vive VB !!!, vive la prog !!!
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
ben... si on l'affiche, on peut s'en servir ...

$sql="select * from boutique where marque =".$_POST["sel"];

Cordialement. Bul. ~ Site ~
Messages postés
144
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
22 mars 2006

oui mais l'utilisateur dois appyer sur valider appres selection, alors
que moi je veut qu'il clique seulement sur la liste deroulante et sur
aucun bouton submit !



c pourquoi je m'orientais vers une fonction "document.Choix.Liste.selectedIndex;"



pour rendre dynamique la selection et ne pas devoir valider le
formaulaire a chasque selection pour faire mon execution de requette !

vive PHP !!!, vive la prog !!!
Messages postés
1
Date d'inscription
mardi 2 mai 2006
Statut
Membre
Dernière intervention
14 juillet 2012

Bonjour,
j'ai un petit peu le meme soucis, sauf que j'aimerai bien le faire sans passer par PHP.
Merci d'avance