Как получить несколько выбранных значений select box в php?
у меня есть html-форма, которая имеет список выбора, из которого вы можете выбрать несколько значений, потому что его свойство multiple имеет значение multiple. Рассмотрим метод формы "GET". HTML код для формы выглядит следующим образом:
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
<form id="form1" name="form1" method="get" action="display.php">
<table width="300" border="1">
<tr>
<td><label>Multiple Selection </label> </td>
<td><select name="select2" size="3" multiple="multiple" tabindex="1">
<option value="11">eleven</option>
<option value="12">twelve</option>
<option value="13">thirette</option>
<option value="14">fourteen</option>
<option value="15">fifteen</option>
<option value="16">sixteen</option>
<option value="17">seventeen</option>
<option value="18">eighteen</option>
<option value="19">nineteen</option>
<option value="20">twenty</option>
</select>
</td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Submit" tabindex="2" /></td>
</tr>
</table>
</form>
</body>
</html>
Я хочу отобразить выбранные значения в списке выбрать на дисплее.PHP-страница. Итак,как отображаются выбранные значения.php страница с помощью $_GET[]
массив.
10 ответов:
если вы хотите PHP для лечения
$_GET['select2']
в качестве массива опций просто добавьте квадратные скобки к имени выберите элемент такой:<select name="select2[]" multiple …
тогда вы можете получить доступ к массиву в вашем PHP скрипте
<?php header("Content-Type: text/plain"); foreach ($_GET['select2'] as $selectedOption) echo $selectedOption."\n";
$_GET
можно заменить на$_POST
в зависимости от<form method="…"
значение.
использовать следующую программу для выбора нескольких значений из меню.
мульти.php
<?php print <<<_HTML_ <html> <body> <form method="post" action="value.php"> <select name="flower[ ]" multiple> <option value="flower">FLOWER</option> <option value="rose">ROSE</option> <option value="lilly">LILLY</option> <option value="jasmine">JASMINE</option> <option value="lotus">LOTUS</option> <option value="tulips">TULIPS</option> </select> <input type="submit" name="submit" value=Submit> </form> </body> </html> _HTML_ ?>
значение.php
<?php foreach ($_POST['flower'] as $names) { print "You are selected $names<br/>"; } ?>
Вы можете использовать этот код для извлечения значений из нескольких выберите поле со списком
HTML:
<form action="c3.php" method="post"> <select name="ary[]" multiple="multiple"> <option value="Option 1" >Option 1</option> <option value="Option 2">Option 2</option> <option value="Option 3">Option 3</option> <option value="Option 4">Option 4</option> <option value="Option 5">Option 5</option> </select> <input type="submit"> </form>
PHP:
<?php $values = $_POST['ary']; foreach ($values as $a){ echo $a; } ?>
<html> <head> <title>Untitled Document</title> </head> <body> <form id="form1" name="form1" method="get" action="display.php"> <table width="300" border="1"> <tr> <td><label>Multiple Selection </label> </td> <td><select name="select2[]" size="3" multiple="multiple" tabindex="1"> <option value="11">eleven</option> <option value="12">twelve</option> <option value="13">thirette</option> <option value="14">fourteen</option> <option value="15">fifteen</option> <option value="16">sixteen</option> <option value="17">seventeen</option> <option value="18">eighteen</option> <option value="19">nineteen</option> <option value="20">twenty</option> </select> </td> </tr> <tr> <td> </td> <td><input type="submit" name="Submit" value="Submit" tabindex="2" /></td> </tr> </table> </form> </body> </html>
вы можете повторить его прямо так
foreach ($_GET['select2'] as $value) echo $value."\n";
или вы можете сделать это
$selectvalue=$_GET['select2']; foreach ($selectvalue as $value) echo $value."\n";
это отобразит выбранные значения:
<?php if ($_POST) { foreach($_POST['select2'] as $selected) { echo $selected."<br>"; } } ?>
// CHANGE name="select2" TO name="select2[]" THEN <?php $mySelection = $_GET['select2']; $nSelection = count($MySelection); for($i=0; $i < $nSelection; $i++) { $numberVal = $MySelection[$i]; if ($numberVal == "11"){ echo("Eleven"); } else if ($numberVal == "12"){ echo("Twelve"); } ... ... } ?>
я исправляю свою проблему с javascript + HTML. Сначала я проверяю выбранные параметры и сохраняю их в скрытом поле моей формы:
for(i=0; i < form.select.options.length; i++) if (form.select.options[i].selected) form.hidden.value += form.select.options[i].value;
далее, я получаю по почте это поле и получаю всю строку ;-) Я надеюсь, что это будет работа для кого-то еще. Благодарить всех.
вы могли бы сделать так же. Это сработало для меня.
<form action="ResultsDulith.php" id="intermediate" name="inputMachine[]" multiple="multiple" method="post"> <select id="selectDuration" name="selectDuration[]" multiple="multiple"> <option value="1 WEEK" >Last 1 Week</option> <option value="2 WEEK" >Last 2 Week </option> <option value="3 WEEK" >Last 3 Week</option> <option value="4 WEEK" >Last 4 Week</option> <option value="5 WEEK" >Last 5 Week</option> <option value="6 WEEK" >Last 6 Week</option> </select> <input type="submit"/> </form>
затем возьмите множественный выбор из следующих PHP код ниже. Он печатает выбранные несколько значений соответственно.
$shift=$_POST['selectDuration']; print_r($shift);