从数据库 select 列表中获取选项值

Getting option value from database select list

我想在学校完成一个项目,我有点卡在了一些东西上,在我看来很简单,但我花了很多时间来解决它。我也在这个论坛上搜索了答案,因为我发现了类似的问题none,其中实际上帮助了我

我的问题是:我已连接到我的数据库。这部分工作正常,并且正在显示选项。但是,我无法从该选项中检索到正确的值。

无论选项下拉列表中的内容如何,​​选项值似乎都未填充或相同。

有人可以指出我正确的方向或告诉我哪里做错了吗?

代码:

<?php                                                                                               
$conn = new mysqli('localhost', 'myuser', 'mypassword', 'mydatabase')                                                                                               
or die ('Cannot connect to db');                                                                                                    
$result = $conn->query("select login, name, surname from users_agents");                                                                                                    
?>

<html>                                                                                              
<body>

<select name="agents_list">                                                                                                     
<?php                                                                                                           
while ($row = $result->fetch_assoc()) {                                                                                                         
unset($agent_login, $name);                                                                                                         
$agent_login = $row['login'];                                                                                                           
$agent_name = $row['name'];                                                                                                             
$agent_surname = $row['surname'];                                                                                                               
echo '<option value="'.$agent_login.'">'.$agent_name. ' '.$agent_surname.' </option>';                                                                                                          
}                                                                                                       
?>                                                                                                      
</select>   

<?php                                                                                                          
$option = isset($_POST['agents_list']) ? $_POST['agents_list'] : false;                                                                                                        
if ($option) {                                                                                                            
echo htmlentities($_POST['agents_list'], ENT_QUOTES, "UTF-8");                                                                                                         
} else {                                                                                                             
echo "agent login is required";                                                                                                          
exit;                                                                                                          
}                                                                                                       
?>                                                                                          

</body>                                                                                             
</html>

是底部部分不适合您吗?您似乎希望 $_POST['agent_list'] 从一开始就被填充。您需要提交表格 post。您需要用 form 标签包裹您的 <select>...</select> 并提供一个按钮或其他一些激活器来提交表单。