Как получить доступ к значениям, выбранным в раскрывающемся списке мультиселектов в PHP?

Я использую Jquery Multiselect Widget, чтобы иметь раскрывающийся список с опцией mulitselect. Я заполняю раскрывающийся список данными из базы данных MySql. Мне не удалось передать несколько значений в php-файл в $ _POST.

Мой HTML и PHP-код для Multiselect DropDown.

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

Здесь я заполняю выпадающее меню Shift в раскрывающемся списке Multiselect. Если я выбираю более одной смены, я не смог получить все эти выбранные значения в php. вместо этого я получаю только последнее выбранное значение.

Я хочу сделать что-то подобное.

  $shiftarraycalc = array(); foreach ($_POST['selectShift'] as $key => $value) { array_push($shiftarraycalc,$value); } 

но он не работает.

Я не знаю, как получить несколько значений в $ _POST.

Модифицированное имя как массив в select

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

и сделал это, и это работает

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

Затем возьмите несколько вариантов из следующего кода PHP ниже. Он печатает выбранные несколько значений соответственно.

 $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>` 

И PHP-код для этого

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