J'ai une liste déroulante qui a des options qui doivent être passées à travers une chaîne de requête. Comment ferais-je cela? Aussi, est-ce que n'importe qui serait en mesure d'énumérer un moyen de le faire à la fois en utilisant un bouton et sans utiliser un bouton? Je vous remercie!PHP - Passer la liste déroulante par la chaîne de requête
Répondre
<form method="get">
<select multiple="multiple" name="things[]">
...
</select>
<input type="submit" value="submit"/>
</form>
<?php
if(isset($_GET['things'])) {
foreach($_GET['things'] as $thing) {
echo $thing . '<br />';
}
}
?>
Merci. Homme, tu m'as beaucoup aidé. haha – user
Je ne suis toujours pas clair quant à ce que le problème était que cela a résolu. était-ce l'utilisation des parenthèses dans le nom pour en faire un tableau? – Anthony
@Anthony - il a dit 'options' alors j'ai pensé qu'il voulait dire un multi-select et il se demandait comment obtenir le tableau des options sélectionnées sur le serveur, le gotcha étant le [] après l'attribut name de select, et sachant que $ _GET ['things'] dans un tableau. – karim79
Sans un bouton:
<form method="get">
<select multiple="multiple" name="things[]" onchange="this.form.submit()">
...
</select>
</form>
Pour être plus accessible et rétrocompatible, j'irais avec: '
erp ...
Sur la base de la réponse de Jani, vous êtes désireux d'avoir la forme soumettre sans bouton, mais encore un bouton de sauvegarde si l'utilisateur n'a pas le javascript? Vous pouvez utiliser noscript
pour couvrir cela:
<form action="script.php" method="get">
<div>
<select name="options" onchange="this.form.submit()">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<noscript>
<input type="submit" value="Go!" />
</noscript>
</div>
</form>
Utiliser la méthode GET. – adatapost
Je suis désolé, que voulez-vous dire par "passé par une chaîne de requête"? Comme dans une requête mysql? et que voulez-vous dire par "sans un bouton"? Voulez-vous utiliser ajax pour transmettre les données au serveur? – Anthony