0

管理モジュールにユーザーがいます。各ユーザー行に対して、ユーザー編集オプションがあります。管理者がそのユーザー編集オプションをクリックしたとき。彼は、フィールドを使用してユーザーフォームを編集するのを見るでしょう。これらのフォームフィールドのうち、フィールドの1つは、ユーザープロファイルタイプであるドロップダウンです。

これで、データベースから、管理者編集が呼び出したそのユーザーに関するすべての詳細の配列を取得します$user_details。しかし、データベースから取得するのは、このようなフィールド名のユーザープロファイルIDです。$user_details['profile_id'];

同時に、プロファイルIDをプロファイル名にマップする別の配列がありました。それは$profile

管理者が最初に編集をクリックすると、編集する前にそのユーザーのprofile_nameを確認する必要があります。そして、そのドロップダウンをクリックすると、変更に使用できるプロファイルタイプを確認する必要があります。

私はこれを行う方法を理解することができません。

Buこれは私が試したものです

<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>
4

1 に答える 1

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番目はオプションです。3番目は選択するキーで、4番目はクラスやIDなどの他の属性に使用されます。最初のキーは名前で、2番目のキーは配列です。

詳細については、フォームドロップダウンユーザーガイドを参照してください。

于 2013-03-20T13:03:56.060 に答える