如何在 php 中从表单提交的组合框中获取选定的值

Posted

技术标签:

【中文标题】如何在 php 中从表单提交的组合框中获取选定的值【英文标题】:How to get selected value from combo box on form submit in php 【发布时间】:2014-04-17 18:37:08 【问题描述】:

从数据库中填充组合框的代码

<td>Item Name:</td>
    <td><select name="items">
        <option value="0" selected="selected"> Choose</option>
        <?php
         while($row = mysql_fetch_assoc($query))
         
            $category = $row["ItemName"];
            echo "$category";
        ?>
        <option value= <?php $category ?> > <?php echo  $category ?> </option>
        <?php
      ?>
      </select></td>

提交代码

<td><input type="submit" name="newItem" value="New Item"/></td>

PHP 代码为:

 <?php
    if(isset($_POST['newItem']))
    
    $item=$_POST['items'];
    $sel=mysql_query("select ItemID from itemmaster where ItemName='$item'");
    while($row2 = mysql_fetch_array($sel))
    
               //code
        

【问题讨论】:

值应该在引号内&lt;option value= "&lt;?php $category ?&gt; "&gt; &lt;?php echo $category ?&gt; &lt;/option&gt; 危险:您使用的是an obsolete database API,应该使用modern replacement。您也容易受到SQL injection attacks的影响,现代 API 可以让您更轻松地从 defend 中获得。 您已经在问题中有代码可以从您的选择元素中获取值。有什么问题? 组合框是一个 UI 控件,它是下拉菜单(在 html 中通过 select 得到的)和文本输入(文本类型的输入)的组合(因此得名) )。 HTML 没有任何表示为组合框的本机控件。如果你想要一个,那么你将不得不用一堆 javascript 来构建它。你有“一个选择元素”。 组合框与 PHP 有什么关系? 【参考方案1】:

值应该在引号内

改变:

<option value= <?php $category ?> > <?php echo  $category ?> </option>

<option value= "<?php $category ?> "> <?php echo $category ?> </option>

【讨论】:

以上是关于如何在 php 中从表单提交的组合框中获取选定的值的主要内容,如果未能解决你的问题,请参考以下文章

如何根据另一个的选定项目过滤一个组合框集合?

如何在组合框中返回未绑定列的值

怎样在php中得到js的值

在数据表或连续表单视图中的表单上,我们如何将第二个组合框中的可能值基于第一个组合框中选择的值?

初学php表单数据的小问题

如何在 Access 中打开表单,自动选择组合框中的值并显示详细信息?