我在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>