IT story

PHP에서 선택 상자의 여러 선택된 값을 얻는 방법은 무엇입니까?

hot-time 2020. 4. 15. 12:35
반응형

PHP에서 선택 상자의 여러 선택된 값을 얻는 방법은 무엇입니까?


다중 속성이 다중으로 설정되어 있기 때문에 다중 값을 선택할 수있는 선택 목록 상자가있는 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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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"); 
         } 
         ...

         ...
    }
?>

당신도 이것처럼 할 수 있습니다. 그것은 나를 위해 일했다.

<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);

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;

다음으로 해당 필드를 게시하고 모든 문자열을 가져옵니다. ;-) 누군가 더 잘 작동하기를 바랍니다. 모두 감사합니다.


foreach ($_POST["select2"] as $selectedOption)
{    
    echo $selectedOption."\n";  
}

참고 URL : https://stackoverflow.com/questions/2407284/how-to-get-multiple-selected-values-of-select-box-in-php

반응형