如何从PHP中的选择值中获取选定的值?

时间:2011-10-20 15:03:51

标签: php html

我有一个html表单,其中有一个选择列表框,您可以从中选择任何一个值。考虑形式方法是post方法。表单的html代码如下。

<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 个答案:

答案 0 :(得分:0)

我认为您应该检查您的代码,因为它包含许多错误,并且可能会导致更多错误。假设代码是正确呈现的,我确实有一些建议:

  • 如果select不允许选择多个选项,则应将其命名为“Select2”,这样您就可以在$ POST ['Select2']中选择所选值。如果您想允许多个选项选择,则应该在您的选择中添加multiple =“multiple”属性。
  • 如果在查看代码和选择字段后仍然无效,则应调试脚本,或尝试转储$ _POST变量(如果无法调试),以检查“Select2”是否在$ _POST中。

无论如何,我建议你检查你的代码并使用某种模板来呈现HTML。

答案 1 :(得分:0)

我尝试了你的代码,我观察并且必须假设选择的值正由表单和浏览器/客户端正确传递/发布。

仅发布选定的选择值。

我注意到您将第一个选择选项的标签保留为空白,但将相同的选项指定为“NEW”,然后使用“NEW”标签将值标记为“READY”。那是有意的吗?我认为你的意思是用NEW和READY标记为空白?

相关问题