我想将数据库中的值插入到php中的下拉菜单中。这就是我要做的事情:我有一个编辑表单页面,它从数据库中提取信息并填充自己。但是,下拉菜单是硬编码的,我希望数据库中的值是加载页面时选择的值,这样用户可以保留该值或下拉菜单并选择其他内容。
有没有办法做到这一点?我不知道我是否有任何意义:)
<html>
<head>
</head>
<body>
<select>
<option>Select employ</option>
<?php
mysql_connect('localhost','user','pass');
mysql_select_db('employ');
$query="select id, name from employ order by name asc";
$result=mysql_query($query);
while(list($id, $name)=mysql_fetch_row($result)) {
echo "<option value=\"".$id."\">".$name."</option>";
}
?>
</select>
</body>
</html>
该代码用于阅读和动态创建下拉菜单,但这不是我正在寻找的。相反,在页面加载之前已经在客户端创建了下拉列表 - 所以我只想在下拉菜单中选择从数据库返回的'name',就像在表单中显示其他值一样。
任何帮助都将不胜感激。
答案 0 :(得分:2)
我会使用这样的代码:
<?php
$host="localhost";
$username="user";
$password="password";
$db_name="employ";
$tbl_name="employ";
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name ORDER BY name ASC";
$result=mysql_query($sql);
if ($result === false) { echo "An error occurred."; }
?>
<html>
<head>
<title>Your title here</title>
</head>
<body>
<select name="usrname" id="usrname">
<option>Select employ</option>
<?php
while($rows=mysql_fetch_array($result)){
?>
<option value="<? echo $rows['id']; ?>"><? echo $rows['name']; ?></option>
<?php
}
mysql_close();
?>
</select>
</body>
</html>
它将所选项目的值设置为您的ID,并按照您的要求显示名称:-) 希望它有所帮助
答案 1 :(得分:1)
我不确定我在这里有正确的想法,但我会得到一个破解
我假设您希望当前选定的员工成为所选员工?
我不知道你打算如何选择跟踪哪个用户,但在这里我假设你在变量$selected
中有它。
while(list($id, $name)=mysql_fetch_row($result)) {
if($selected==$name) {
echo "<option value=\"".$id."\" selected=\"selected\">".$name."</option>";
} else {
echo "<option value=\"".$id."\">".$name."</option>";
}
}
希望我有正确的想法,这有助于:)
答案 2 :(得分:1)
Mutch清洁剂示例:
while(list($id, $name)=mysql_fetch_row($result)) {
echo '<option value='.$id.'" '.($selected==$name? 'selected="selected"':'').'>'.$name.'</option>';
}
答案 3 :(得分:0)
如果我理解这一点,你想“重新填写表格”。要做到这一点,试试这个:
$currentValue = isset($_REQUEST['selectName']) ? $_REQUEST['selectName'] : null;
while(list($id, $name)=mysql_fetch_row($result)) {
echo "<option value=\"{$id}\";
if ($id == $currentValue) echo ' selected="selected"';
echo ">".$name."</option>";
}
基本上,如果可以从帖子数据中获得当前值,则会获得当前值,然后选中所选元素(如果它在那里)。
答案 4 :(得分:0)
谢谢大家,我终于在这个网站的某个地方找到了答案。这是对别人问题的回答,也适用于我。