繁体   English   中英

填充 DropDown 并从数据库中获取选定的值

[英]Populate DropDown and Get Selected Value From Database

我有从数据库中选择值以填充下拉列表的代码。 但我的问题是,如果我将用户选择的值存储在另一个数据库中,我将如何将其拉回并做出所选的选择。

<select name="dropdown1" id="dropdown1">

<?php
for ($i = 0; $i < 5; $i++)
{
    print '<option id="'.$options[$i]["ID"].'" value="'.$options[$i]["Value"].'">'.$options[$i]["Name"].'</option>'."\n";
}
?>
</select>

所以用户存储的值是红色的。 当它填充我的下拉列表时,我如何将选定的值设为红色?

谢谢e

<select name="dropdown1" id="dropdown1">

<?php
$selected = "red";

for ($i = 0; $i < 5; $i++)
{
    if ($options[$i]['Value'] == $selected) {
        print '<option selected="selected" id="'.$options[$i]["ID"].'" value="'.$options[$i]["Value"].'">'.$options[$i]["Name"].'</option>'."\n";
    } else {
        print '<option id="'.$options[$i]["ID"].'" value="'.$options[$i]["Value"].'">'.$options[$i]["Name"].'</option>'."\n";
    }
}
?>
</select>

在每个元素上测试值。 如果选择了该值,则打印“selected”。

<select name="dropdown1" id="dropdown1">
<?php
$selected = 'red';// obviously replace with DB value.
for ($i = 0; $i < 5; $i++)
{
    // start as normal
    print '<option id="'.$options[$i]["ID"].'" value="'.$options[$i]["Value"].'"';

    // if this one is selected, add 'selected' to the tag.
    // NOTE: booleans in HTML do not need to have an attribute value.
    // so selected="selected" is not necessary here.
    if( $options[$i]["Value"] == $selected ) print ' selected';

    // finish as normal
    print '>'.$options[$i]["Name"].'</option>'."\n";
}
?>
</select>

附带说明:如果您使用 foreach,它将生成更小、更紧凑且通常更快的代码:

//this assumes that you want to iterate the whole options array
foreach( $options as $option )
{
    print '<option id="'.$option["ID"].'" value="'.$option["Value"].'"';
    if( $option["Value"] == $selected ) print ' selected';
    print '>'.$option["Name"].'</option>'."\n";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM