2011-10-20 149 views
0

我有一個html表單,其中有一個選擇列表框,您可以從中選擇任何一個值。考慮表單方法是post方法。表單的html代碼如下。如何從PHP中的選擇值中獲取選定的值?

<form id="form1" name="form1" method="post" action="particular_order.php?OrderId=<?php echo $Order_no; ?>" > 
<?php 
    //$Order_no=$_GET['OrderId']; 
    $result = mysql_query("select Menu_Item_Name, Menu_Item_id, Menu_Item_quantity,Menu_Item_Price,PreparationStatus from order_details where order_id='$Order_no' && status!='C' "); 
    $rows_count = mysql_num_rows($result); 

    $i=0; 
    $ItemName=""; 
    while($row=mysql_fetch_array($result)) 
    { 
     if($i==0) 
     { 
      echo "<table id='table1' style='WIDTH: 400px;' border='3' cellSpacing=0 cellPadding=3 width=693 align=center> 
       <tbody>"; 
      echo "<tr><td><font color='#0000e' size='2'><strong>Item Name</strong></font></td> 
       <td><font color='#0000e' size='2'><strong>Item Id</strong></font></td> 
       <td><font color='#0000e' size=2><strong>Quantity</strong></font></td> 
       <td><font color='#0000e' size=2><strong>Price</strong></font></td> 
       <td><font color='#0000e' size=2><strong>Status</strong></font></td></tr>"; 
     } 
     if($row['PreparationStatus']=='NEW') 
      $ps='READY'; 
     else 
      $ps='NEW'; 
     $ItemId=$row['Menu_Item_id']; 
     echo $ItemName; 
     echo"<tr> 
      <td><font color='#0000e' size='2'>".$row['Menu_Item_Name']."</font></td> 
      <td><font color='#0000e' size='2'>".$row['Menu_Item_id']."</font></td> 
      <td><font color='#0000e' size='2'>".$row['Menu_Item_quantity']."</font></td> 
      <td><font color='#0000e' size='2'>".$row['Menu_Item_Price']."</font></td> 
      <td><SELECT NAME='Select2[]' id='PrepStatus' onChange=updatePrepStatus('$Order_no','$ItemId','$ps')><OPTION VALUE='NEW'><font color='#0000e' size='2'>".$row['PreparationStatus']." 
       </OPTION><OPTION VALUE='READY'><font color='#0000e' size='2'>$ps</OPTION></SELECT>&nbsp;</font></td></tr>"; 
     $i++; 
    } 

    if($i==0) 
    { 
     echo "<p align='center'>NO RECORDS<strong><font color='white' size='3'>"; 
    } 
    else 
    { 
     echo "</tbody></table></p> 
      <input value='Submit' type='submit' name='submit'>"; 
    } 
?> 
</form> 

我想在選擇列表框中顯示選定的值在同一個php頁面上。 但是選定的值沒有正確訪問。

<?php 
    $arr=$_POST['Select2']; 
     for($i=0;$i<sizeof($arr);$i++) 
     echo $arr[$i]; 
?> 
+2

你能後的輸出? – Griffin

+2

爲什麼只在你的HTML中只有一個名稱時將你的選擇命名爲數組? 'sizeof($ arr)'總是會變成'1'。 – Mike

+2

你期望得到什麼,你究竟得到了什麼?另外,你的HTML使用一些過時的標籤和屬性,你應該看看像''元素去除的東西,使用'',而不是''​​在適當情況下,使用''

'元素,並使用CSS來代替。 – megaflop

回答

0

我想你的代碼,我觀察和必須假設選擇的值傳遞/由形式和瀏覽器/客戶端正確發佈。

僅選擇的選擇的值將被張貼。

我注意到,您將標籤留給第一個選項作爲空白,但將這些相同的選項分配爲「NEW」的值,然後您將標籤爲「READY」的選項標記爲「NEW」 ......是有意的嗎?我會認爲你的意思是用NEW和READY標記NEW以空白?

+0

謝謝各位!我把它固定像這樣...​​  「; – user884126

+0

其實我保持選項值作爲固定的(NEW和READY)。 ..但它需要根據數據庫值更改選項...當使用選擇框更改選項框並且完成時...然後那些不適用於PHP中的o/p。 – user884126

0

我認爲你應該實際上檢查你的代碼,因爲它包含很多錯誤,並且可能會導致更多的錯誤。假設代碼是正確的渲染,我有幾點建議:

  • 如果選擇是不會允許選擇多個選項,你應該命名只是「選擇二」,所以你必須選擇的值在$ POST ['Select2']中。如果你想允許多選項選擇,你應該添加multiple =「multiple」屬性到你的選擇。
  • 如果檢查代碼選擇欄它仍然無法正常工作後,你應該調試腳本,或者嘗試,如果不能調試轉儲$ _POST變量,以檢查是否「選擇二」是在$ _ POST。

無論如何,我會建議您查看您的代碼並使用某種模板來呈現HTML。

相關問題