我有一个mysql表,其中包含以下cols.
Id Name Sex
Run Code Online (Sandbox Code Playgroud)
和性别列有枚举类型('男','女','未指定')
如何在下拉列表中列出枚举值并将当前存储的值设置为选中状态
创建选择(下拉)字段时,它是枚举字段的事实并不重要.枚举字段的行为与文本输入字段相同,它们只是拒绝任何与枚举选项不匹配的数据并更有效地存储数据.因此,与枚举字段的交互与与文本输入字段交互相同.
所以你需要一个普通的html选择字段:
<form>
<select name="gender">
<option value="Unspecified">Unspecified</option>
<option value="Male">Male</option>
<option value="Female">Female</option
</select>
</form>
Run Code Online (Sandbox Code Playgroud)
你需要选择你的价值:
<form>
<select name="gender">
<option value="Unspecified" <?php if($gender == "Unspecified") { echo "SELECTED"; } ?>>Unspecified</option>
<option value="Male" <?php if($gender == "Male") { echo "SELECTED"; } ?>>Male</option>
<option value="Female" <?php if($gender == "Female") { echo "SELECTED"; } ?>>Female</option
</select>
</form>
Run Code Online (Sandbox Code Playgroud)
这可以分解为功能:
function gender_select($default_value='') {
$select = '<select name="gender">';
$options = array('Unspecified','Male','Female',);
foreach($options as $option) {
$select .= write_option($option, $option, $default_value);
}
$select .= '</select>';
return $select;
}
function write_option($value, $display, $default_value='') {
$option = '<option value="'.$value.'"';
$option .= ($default_value == $value) ? ' SELECTED' : '';
$option .= '>'.$display.'</option>';
return $option;
}
Run Code Online (Sandbox Code Playgroud)
所以你的最终代码是:
<form>
<?php echo $gender_select($gender); ?>
</form>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28813 次 |
| 最近记录: |