从SQL数据库填充的下拉列表中获取值

时间:2017-04-02 15:55:59

标签: php html input drop-down-menu html-select

我已成功填充了MySQL数据库的下拉列表。我现在想要从这个下拉列表中提取价值。当我从下拉列表中提取值时,它只是列表中值的位置值。

以下是工作下拉列表:

<?php

include_once("connection.php"); 

 function fill_name($connect)  
 {  
      $output = '';  
      $sql = "SELECT name, id FROM notes";  
      $result = mysqli_query($connect, $sql);  
      while($row = mysqli_fetch_array($result))  
      {  
           $output .= '<option value="'.$row["id"].'">'.$row["name"].'</option>';  
      }  
      return $output;  
 }  

 ?>  

 <!DOCTYPE html>  
 <html>  
      <head>  
           <title>Patient Notes View</title>  
           <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />  
           </script>  
      </head>  
      <body>  
           <br /><br />  
           <div class="container">  
                <form action="dropdown_selection.php" method="post">  
                     <select name="name" id="name">  
                          <option value="">Show All Patients</option>  
                           <?php echo fill_name($connect); ?> 
                     </select>  
                     <input type="submit" name="submit" value="Submit" />

                </form>  
           </div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

      </body>  
 </html> 

以下是它引用的页面:

<?php
$patient_name = $_POST['name'];
echo $patient_name

?>

输出是1,2,3,4,但我希望它输出下拉列表中选择的内容。

向你求助

2 个答案:

答案 0 :(得分:0)

输出数字是正确的,因为您将选项值设置为ID,而不是NAME - &gt; <option value="'.$row["id"].'">因此你得到ID s

答案 1 :(得分:0)

您可以更改元素的value,也可以删除它们。如果元素没有值,则其内容将作为值发送。

  

如果选择此选项,则此属性的内容表示要随表单提交的值。如果省略此属性,则从选项元素的文本内容中获取值。

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option

所以:

$output .= '<option value="'.$row["name"].'">'.$row["name"].'</option>';  

$output .= '<option>'.$row["name"].'</option>';