다중 속성이 다중으로 설정되어 있기 때문에 다중 값을 선택할 수있는 선택 목록 상자가있는 html 양식이 있습니다. 양식 방법이 ‘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>
display.php 페이지의 선택 목록 상자에 선택한 값을 표시하고 싶습니다. 따라서 $_GET[]
array.를 사용하여 display.php 페이지에서 선택된 값에 어떻게 액세스합니까 ?
답변
PHP를 $_GET['select2']
옵션 배열 로 취급 하려면 다음 과 같이 select 요소 의 이름에 대괄호를 추가 하십시오.<select name="select2[]" multiple …
그런 다음 PHP 스크립트에서 배열에 액세스 할 수 있습니다
<?php
header("Content-Type: text/plain");
foreach ($_GET['select2'] as $selectedOption)
echo $selectedOption."\n";
$_GET
값 에 $_POST
따라 대체 될 수 있습니다 <form method="…"
.
답변
변화:
<select name="select2" ...
에:
<select name="select2[]" ...
답변
선택 상자에서 여러 값을 선택하려면 다음 프로그램을 사용하십시오.
multi.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_
?>
value.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");
}
...
...
}
?>