将特定数据库值加载到HTML中的列表框中


Load the Specific database value to the Listbox in HTML

我在php中开发了一个注册页面,注册页面中有一个列表框(combobox)用于选择城市。假设用户在列表框中选择"纽约"进行注册。现在,纽约值存储在数据库中。我的问题是,我想给用户一个个人资料页面,在那里他可以编辑自己最后的值。因此,当加载配置文件页面时,我想加载列表框,其中包含从数据库中获得的New York值。(请记住,我不想在列表框中添加新值。只想在加载页面时选择以前插入的值。)我该怎么做。有人能帮我吗?

selected属性添加到与数据库中的数据匹配的<option>元素中。通常,最简单的方法是通过在所有可能值的数组上循环来生成选项。

我不知道你是如何渲染你的城市的,所以我要做一些假设,让你来弄清楚如何将其适应你的代码

$user_city = 'New York';
$cities = [
    'Texas',
    'New York',
    'Arizona',
    'Washington'
];
echo '<select>';
foreach($cities as $city){
    echo '<option '.($city == $user_city ? 'selected' : null).'>'.$city.'</option>';
}
echo '</select>';

此外,您应该使用id,而不是像我在示例中所做的那样使用名称。

好的,我开始工作了。谢谢你的帮助。以下是我做的

$user_city是我从数据库中获得的值。

<select name="area" id="area" style="border:"><optgroup label="cities">
        <option value="New York"
        <?php if($user_city=='New York'){echo 'selected="selected"';} ?>>New
            York</option>
        <option value="Texas"
        <?php if($user_city =='Texas'){echo 'selected="selected"';} ?>>Texas</option>
        <option value="Arizona"
        <?php if($user_city =='Arizona'){echo 'selected="selected"';} ?>>Arizona</option>
    </optgroup>
</select>