Получение значения из выпадающего списка, заполненного из базы данных SQL

Я успешно заполнил выпадающий список из базы данных 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 ответа

Решение

Вы можете изменить value ваших элементов, или удалите их. Если элемент не имеет значения, его содержимое будет отправлено как значение.

Содержимое этого атрибута представляет значение, которое будет отправлено с формой, если этот параметр выбран. Если этот атрибут опущен, значение берется из текстового содержимого элемента option.

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

Так что либо:

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

или же

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

Выходное значение является правильным, так как вы устанавливаете значение параметра равным IDне NAME -> <option value="'.$row["id"].'"> поэтому вы получаете IDs

Другие вопросы по тегам