从下拉框中获取PHP选定的值?

3

这是我获取数据库数据到选择框的代码,我想要获取选中的值。我尝试过很多方法,但总是有遗漏。请帮忙。

<form id="search" action="" method="post" >
   <select name="owner" id="owner">
   <?php 
      $sql = mysql_query("SELECT designation FROM designation");
      while ($row = mysql_fetch_array($sql)){
      echo '<option value="'.$row['designation'].'">'.$row['designation'].'</option>';
      }
      ?>
   </select>
   <input type="submit" value="Search">
</form>

2
Try <?php echo $_POST['owner']; ?> - Bora
为了以后的参考,您可以使用以下代码查看发送到脚本的所有表单数据:print_r($_POST); - Oscar Broman
你的数据库表中有指定字段吗? - Devang Rathod
你希望在哪里选择值,后端还是前端? - Nikita Gopkalo
可能是重复的问题:使用 $_POST 从 HTML 获取选择选项值 - Iván Rodríguez Torres
5个回答

2

由于您没有为表单指定操作,所以默认操作将是将POST值发送到同一页面。

有关操作值的更多信息,请参见此处

因此,在表单所在的同一页面中,您应该添加一个

if(isset($_POST['owner']))
{
    // Do some stuff
}
else
{
    // Print the form
}

1

首先确保包含操作。其次,要获取一个选择标签的POST请求,您只需要执行以下操作:

$_POST["owner"];

操作可以为空,没有必要填写。你所说的“选择标签的POST请求”是什么意思?也许是“使用POST发送字段值”? - Elon Than

0
<form id="search" action="" method="post" >
            <select name="owner" id="owner">
            <?php 
             $owner="rejayi"
            $sql = mysql_query("SELECT designation FROM designation");
            while ($row = mysql_fetch_array($sql)){
               if($row['designation'] ==  $owner){
     echo '<option value="'.$row['designation'].'" selected="selected">'.$row['designation'].'</option>';
               }else{
           echo '<option value="'.$row['designation'].'">'.$row['designation'].'</option>';
               }
            }
            ?>
            </select>
            <input type="submit" value="Search">
            </form>

0

$_POST['owner'] 包含了当你提交表单时选择框的值。而 $_POST 则包含了通过表单提交的所有输入元素的值。如果你使用 print_r($_POST);,它将会显示出所有通过表单提交的值。

如果你

echo $_POST['owner'];//Will display the value of your selected value in the select box.

0

将双引号(")放在外面,单引号(')放在里面

例如:

echo "<option value='".$row['designation']."'>".$row['designation']."</option>";


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接