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

时间:2017-05-22 10:29:45

标签: database select option

我正在尝试在学校完成一个项目,而且我有点陷入困境,在我看来非常简单,但我花了很多时间试图解决它。我也在这个论坛上搜索了一个答案,因为我发现了类似的问题,他们中没有一个真正帮助过我

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

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

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

代码:

<?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>

1 个答案:

答案 0 :(得分:0)

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