2012-02-13 8 views
1

私のサイトでは、ユーザーはチーム(一族)を作り、他のユーザーに参加させることができます。一度に複数のユーザーを更新しますか?

チームリーダーがチーム内の各ユーザーの「ランク」を編集できるページを作成中です。これらのオプションは、Founder、Captain、Member、Inactive、Kickです(ユーザーをチームから完全に削除します)。

私は、ページがどのように見えているかについての簡単なスクリーンショットを含めて、達成したいことを説明するのに役立ちました。

http://cl.ly/E9Gb

だから、チームリーダーが通過し、各ユーザのランクを変更し、更新を打つことができます。

この問題を解決するにはどうすればよいでしょうか?ここで

現時点では私のコードからいくつかの抽出物である:

CONTROLLER:

if ($this->input->post('update_roster')) 

{ 

    $member_id = $this->input->post('user_id'); 
    $member_rank = $this->input->post('member_rank'); 
    $this->clan_model->update_roster($clan_id, $member_id, $member_rank); 

} 

MODEL:

public function update_roster($clan_id, $user_id, $rank) 

{ 

    $data = array(

     'rank' => $rank 

    ); 

    $this->db->where('clan_id', $clan_id); 
    $this->db->where('user_id', $user_id); 

    if ($this->db->update('clan_joined', $data)) 

    { 

     return TRUE; 

    } 

} 

はVIEW:

<h3>Roster</h3> 

<?php 

$member_rank = array(
    '1' => 'Founder', 
    '2' => 'Captain', 
    '3' => 'Member', 
    '4' => 'Inactive', 
    '5' => 'Kick' 
); 

?> 

<?php $attributes = array('id' => 'update_roster', 'class' => 'nice'); ?> 

<?php echo form_open('clan/manage/' . $this->uri->segment(3) . '#roster', $attributes); ?> 

<table width="100%"> 

<thead> 

    <tr> 
     <th class="text-center">#</th> 
     <th>Username</th> 
     <th>Rank</th> 
    </tr> 

</thead> 

<?php form_open('clan/manage/' . $this->uri->segment(3) . '#roster', $attributes); ?> 
<?php foreach ($members AS $member) : ?> 
<tr> 
    <td class="text-center"><a href="<?php echo site_url('people') . '/' . $member->username; ?>"><?php echo avatar(32, $member->username, $member->avatar_uploaded); ?></a></td> 
    <td><?php echo $info->clan_tag; ?>/<?php echo $member->username; ?></td> 
    <td><?php echo form_dropdown('member_rank', $member_rank, $member->rank); ?></td> 
</tr> 
<?php echo form_hidden('user_id', $member->username); ?> 
<?php endforeach; ?> 

</table> 

<?php echo form_submit('update_roster', 'Update'); ?> 
<?php echo form_close(); ?> 

私はこのコードがあることを理解間違っている、私は今まで何をしているのか分かち合うと思っていました。あなたのHTMLフォームで

答えて

0

配列であることをドロップダウンし、あなたの隠された入力を変更:

<td><?php echo form_dropdown('member_rank[]', $member_rank, $member->rank); ?></td> 

<?php echo form_hidden('user_id[]', $member->username); ?> 

その後の$ this - >入力 - >ポスト( 'member_rank')と ' user_id 'はそれぞれ配列を受け取ります。 PHPの配列をループし、ループの繰り返しごとにUPDATEコードを呼び出すことができます。

+0

パーフェクトです。ありがとう! – Prefontaine

関連する問題