如何编辑在codeIgniter中有下拉列表的用户表单?

时间:2013-03-20 12:37:40

标签: php html forms codeigniter

管理员模块中有用户。对于每个用户行,我有编辑用户选项。当管理员点击该编辑用户选项时。他将看到带有字段的编辑用户表单。在这些表单字段中,其中一个字段是下拉列表,即用户配置文件类型。

现在,从数据库中我将​​得到一个有关该用户的所有详细信息的数组,其中管理编辑称为$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>

1 个答案:

答案 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用户指南。