Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中访问multiselect下拉列表中选择的值?_Php_Multi Select - Fatal编程技术网

如何在PHP中访问multiselect下拉列表中选择的值?

如何在PHP中访问multiselect下拉列表中选择的值?,php,multi-select,Php,Multi Select,我以前有一个带有mulitselect选项的下拉列表框。我正在用MySql数据库中的数据填充下拉列表。我无法在$\u POST中将多个值传递给php文件 我的多选下拉列表的HTML和PHP代码 <form id="intermediate" name="inputMachine" method="post"> <select id="selectDuration" name="selectDuration" multiple="multiple"> <

我以前有一个带有mulitselect选项的下拉列表框。我正在用MySql数据库中的数据填充下拉列表。我无法在$\u POST中将多个值传递给php文件

我的多选下拉列表的HTML和PHP代码

   <form id="intermediate" name="inputMachine" 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>
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;


    <?php
        //include '../db/interface/DB_Manager.php';
        $connect = mysql_connect("localhost", "root", "infinit") or die(mysql_error()); 
        mysql_select_db("serverapp") or die(mysql_error()); 

        $query = "select id,name from rpt_shift_def"; //Write a query
        $data = mysql_query($query);  //Execute the query
    ?>
    <select id="selectShift" name="selectShift" multiple="multiple">
    <?php
    while($fetch_options = mysql_fetch_array($data)) { //Loop all the options retrieved from the query
    ?>

    <option name="selected_ids[]" id ="<?php echo $fetch_options['id']; ?>"  value="<?php echo $fetch_options['name']; ?>"><?php echo $fetch_options['name']; ?></option><!--Echo out options-->
    <?php
        }
    ?>
    </select>
但它不起作用


我不知道如何在$\u POST中获取多个值。

在select中将名称修改为数组

<select id="selectShift" name="selectShift[]" multiple="multiple">

你也可以这样做

<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>
$shiftarraycalc = array();
$shift=$_POST['selectShift'];

if ($shift)
{
    foreach ($shift as $value)
    {
        array_push($shiftarraycalc,$value);
    }
}
$shift=$_POST['selectShift'];

if ($shift)
{
    foreach ($shift as $value)
    {
        $shiftarraycalc[]=$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>
$shift=$_POST['selectDuration'];

print_r($shift);
<select id="hanu" name="hanu[]" multiple="multiple">
<option> one</option>
<option> two </option>
<option> three</option>
<option> four </option>
<option> five</option>
<option> six </option>
<option> seven</option>
</select>`
$res_hanu = array();
$hanu_new=$_POST['hanu'];
if ($hanu_new){
foreach ($hanu_new as $value){
array_push($res_hanu,$value);
}
}