我有与PHP构建一个下拉框。 下面是代码:
$region_result = mysql_query("SELECT * FROM region ORDER BY region");
$dropdown = "<select name='region'>";
while($row = mysql_fetch_assoc($region_result)) {
$rid = $row["id"];
$region = $row["region"];
$dropdown .= "\r\n<option value='{$row['rid']}'>{$region}</option>";
}
$dropdown .= "\r\n</select>";
我需要经过上面代码被处理,以设定的下拉框的选择的值。 有没有简单的方法来做到这一点?
有没有人有什么建议? 谢谢!
编辑:
谢谢大家的答案。 让我来解释我在做什么。 我设置了一个“编辑用户”页面,在这里您可以搜索多个标准的用户,然后将结果显示在一个“编辑模式”中列出的 - 那就是 - 在文本框和下拉框。 所以,你可以再编辑和更新用户。 对于两个用户领域,我需要列出在下拉框(以确保数据的完整性和约束)的数据。 所以,我想说明那些下拉框与所有你可以改变,但我想下拉的选择的值是当前与用户相关联的一个可能的值。
所以,我是能够得到与deceze的建议这方面的工作 - 在我的while循环,它具有与该数据库结果设置我的PHP的价值观,我已经插入一个嵌套while循环,这将构建$下拉菜单,然后内,嵌套的if -环。 我不是疯了所有这些嵌套的循环。 下面是该代码段:
if (@mysql_num_rows($result)) {
while ($r=@mysql_fetch_assoc($result)) {
$fname = $r["fname"];
$lname = $r["lname"];
$region = $r["region"];
$role = $r["role"];
$extension = $r["extension"];
$username = $r["username"];
$building = $r["building"];
$room = $r["room"];?>
<?php
$dropdown = "<select name='region'>";
while($row = mysql_fetch_assoc($region_result)) {
$rid = $row["id"];
$region2 = $row["region"];
if($region == $region2){
$dropdown .= "\r\n<option selected='selected' value='{$row['rid']}'>{$region}</option>";
}else{
$dropdown .= "\r\n<option value='{$row['rid']}'>{$region2}</option>";
}
}
$dropdown .= "\r\n</select>";
?>
但是,我正在考虑这个不断变化的文本替换(由soulscratch和zombat建议),因为我认为那将是更好的性能。
...这似乎并不时超过一个结果集符合搜索条件,但(作为下拉框的第二和第三等的结果是空的)工作。
你们有什么感想?