J'essaie d'obtenir l'option sélectionnée à l'aide de PHP, mais j'ai manqué d'idées!
ci-dessous est le code que j'ai essayé jusqu'à présent: p>
9 Réponses :
<select> <option value="1" <?php if ($myVar==1) echo 'selected="selected"';?>>Yes</options> <option value="2" <?php if ($myVar==2) echo 'selected="selected"';?>>No</options> <option value="3" <?php if ($myVar==3) echo 'selected="selected"';?>>Fine</options> </select> <input type="text" value="" name="name"> <input type="submit" value="go" name="go"> This is a very simple and straightforward way, if I understand your question correctly.
Je t'ai battu par une seconde monsieur!: P
@Iznogood Je pense que vous voulez dire que vous voulez dire l'inverse .. Mouseover Hyestamp's TimeestaStamp dit 17:14:48, tandis que sur la réponse de Bart, il est écrit 17:14:47 :)
Eh bien @Davinder, vous avez 5 ans de retard! :-)
Vous obtenez une variable non définie $ myvar erreur .....
Tout d'abord, donnez un nom à votre sélection. Ensuite, faites:
<select name="my_select"> <option value="1" <?= ($_POST['my_select'] == "1")? "selected":"";?>>Yes</options> <option value="2" <?= ($_POST['my_select'] == "2")? "selected":"";?>>No</options> <option value="3" <?= ($_POST['my_select'] == "3")? "selected":"";?>>Fine</options> </select>
Cette réponse n'est pas pertinente pour un recul particulier, mais peut-être utile pour les autres. J'ai eu une question similiaire avec "sélection de" option "droite 'par valeur renvoyée à partir de la base de données. Je l'ai résolu en ajoutant une balise supplémentaire avec un affichage appliqué: Aucun.
<?php $status = "NOT_ON_LIST"; $text = "<html> <head> </head> <body> <select id=\"statuses\"> <option value=\"status\" selected=\"selected\" style=\"display:none\">$status</option> <option value=\"status\">OK</option> <option value=\"status\">DOWN</option> <option value=\"status\">UNKNOWN</option> </select> </body> </html>"; print $text; ?>
Les programmeurs sont paresseux ... er .... Efficace .... Je le ferais comme si:
Ceci est la seule solution qui répond à une sélection de dizaines ou de centaines d'options. +1
@Wes comment cela traite-t-il des centaines d'options ?? Vous auriez besoin de taper tous ceux qui sont dans le forach .......
@Yunfeichen Vous pouvez construire la gamme d'options dans un autre script en boucle via vos données, puis utilisez cette variable dans le forach ci-dessus.
@wes comment est-ce meilleur, vous auriez toujours besoin de taper toutes les options dans un tableau ???
@wes a toujours besoin de taper sur plusieurs centaines d'éléments ...... ne vois pas comment c'est mieux ??
Je suppose que vous utilisez un tableau pour créer votre entrée code> formulaire.
Dans ce cas, utilisez un tableau: sinon, vous pouvez simplement dérouler la boucle ci-dessus et utiliser toujours un tableau. P> Vous devrez adapter le code aux exigences correspondant du cadre que vous utilisez, le cas échéant. p> aussi, il est coutumier dans de nombreux cadres d'utiliser La syntaxe alternative dans la vue des scripts dédiés. P> P> <option value="1" <?php @print($selected[$k]);?>>Yes</options>
<option value="2" <?php @print($selected[$k]);?>>No</options>
<option value="3" <?php @print($selected[$k]);?>>Fine</options>
$ _ demande code>, li>
ul>
Vous pouvez utiliser ceci ..
<select name="select_name"> <option value="1"<?php echo(isset($_POST['select_name'])&&($_POST['select_name']=='1')?' selected="selected"':'');?>>Yes</option> <option value="2"<?php echo(isset($_POST['select_name'])&&($_POST['select_name']=='2')?' selected="selected"':'');?>>No</option> <option value="3"<?php echo(isset($_POST['select_name'])&&($_POST['select_name']=='3')?' selected="selected"':'');?>>Fine</option> </select>
J'utilise Inline si
($_POST['category'] == $data['id'] ? 'selected="selected"' : false)
Pour le compte rendu, "Inline Siest" est en fait connu comme "Opérateur ternaire".
J'ai 2 fichiers PHP et j'ai fait cela, et cela fonctionne. (Ceci est un exemple) Le premier code provient du fichier unique et du deuxième code à partir de deux fichiers.
<form action="two.php" method="post"> <input type="submit" class="button" value="submit" name="one"/> <select name="numbers"> <option value="1"> 1 </option> <option value="2"> 2 </option> <option value="3"> 3 </option> </select> </form> if(isset ($_POST['one'])) { if($_POST['numbers']=='1') { $a='1' ; } else if($_POST['numbers']=='2') { $a='2' ; { else if ($_POST['numbers']=='3') { $a='3' ; } }
C'est la solution que j'ai proposée: Le code que j'ai fonctionne aussi longtemps que les valeurs sont des entiers dans un ordre numérique (ascendant ou décroissant). Ce qu'il fait, c'est démarre la liste déroulante dans HTML et ajoute chaque élément d'option dans le code PHP. Cela ne fonctionnera pas si vous avez des valeurs aléatoires cependant, c'est-à-dire: 1, 4, 2, 7, 6. Chaque valeur doit être unique. P> P>
Vous ne pouviez pas le rendre plus inefficace: 1. B> Vérification du $ _ POST ['Go'] code> Une seule fois, pas sur chaque itération de la boucle 2. B> Votre boucle ne prend pas en charge les modifications apportées dans la matrice, au moins utilisez
compteur ($ Ar) code> pas un numéro codé dur. 3. b> B> PHP's
PHP () CODE> LOOP gère automatiquement itération via un tableau et récupérant les touches et les valeurs - de sorte que vous ne devez donc pas avoir votre propre index d'incrément.