2012-11-19 25 views
4

我使用Jquery Multiselect Widget有一個帶有mulitselect選項的下拉列表框。我正在使用來自MySql數據庫的數據填充下拉列表。我無法將多個值傳遞給$ _POST中的php文件。如何訪問PHP中多選下拉列表中選定的值?

我的HTML & Multiselect DropDown的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> 

在這裏,我移填充在下拉列表下拉多選。如果我選擇多個班次,我無法在php中獲取所有這些選定的值。相反,我只得到最後選定的值。

我想做這樣的事情。

$shiftarraycalc = array(); 

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

但它不工作。

我不知道如何獲取$ _POST中的多個值。

回答

12

修改後的名稱作爲選擇

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

陣列,做這樣和它的作品

$shiftarraycalc = array(); 
$shift=$_POST['selectShift']; 

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

if ($shift) 
{ 
    foreach ($shift as $value) 
    { 
     $shiftarraycalc[]=$value; 
    } 
} 
0

你能做到這樣了。

<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); 
0
<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); 
} 
} 
相關問題