管理员模块中有用户。对于每个用户行,我有编辑用户选项。当管理员点击该编辑用户选项时。他将看到带有字段的编辑用户表单。在这些表单字段中,其中一个字段是下拉列表,即用户配置文件类型。
现在,从数据库中我将得到一个有关该用户的所有详细信息的数组,其中管理编辑称为$user_details
。但是从数据库中我将得到的是字段名称中的用户个人资料ID,如$user_details['profile_id'];
与此同时,我有另一个数组,它将配置文件ID与配置文件名称进行映射。这被称为$profile
现在,当管理员首先点击编辑时,他需要在编辑之前查看该用户的profile_name。当他点击该下拉列表时,他需要查看可用于更改的配置文件类型。
我无法理解如何做到这一点。
这就是我试过的
<label>Profile: <?php echo form_error('profile'); ?></label> <br />
<select class="styled" name="profile_id">
<?php foreach($profiles as $profile) { ?>
<option value="<?php echo $profile['profile_id']?>" <?php if ( set_value('profile_id') == $user_details['profile_id']) {?>selected="selected"<? } ?>><?php echo $profile['profile_name']?></option>
<?php } ?>
</select>
答案 0 :(得分:1)
如果您打算使用Codeigniter的内置form_dropdown
,这很容易$options = array();
foreach($profiles as $profile){
$options[$profile['id']] = $profile['profile_name'];
}
$select = isset($user_details['profile_id']) ? $user_details['profile_id'] : 0;
form_dropdown('profile_id',$options , $select , 'class= "styled" ');
需要4个参数。第3和第4是可选的。第三个是您想要选择的键,第四个用于其他属性,如class,id等。第一个是名称,第二个是数组。
有关详细信息,请参阅Form Dropdown用户指南。