2012-02-13 35 views
1

在我的網站上,用戶可以創建團隊(部落)並邀請其他用戶加入。一次更新多個用戶?

我正在一個頁面上工作,當時團隊負責人可以編輯團隊中每個用戶的「等級」。這些選項是創建者,隊長,成員,非激活和踢(這將從隊中完全刪除用戶)。

我已經包含了一個頁面看起來如何幫助解釋我希望實現的快速截圖。

http://cl.ly/E9Gb

所以團隊領導者可以順利通過,並改變每個用戶的等級,然後點擊更新。

什麼會去了解這一點的最好方法是什麼?

下面是我的代碼中的一些提取物中的存在:

控制器:

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(); ?> 

我明白這個代碼是錯誤的,因爲它'不工作,但認爲我會分享我迄今爲止所做的。

回答

0

在你的HTML表單改變下拉列表和隱藏的輸入視爲數組:

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

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

然後這個 - $>輸入 - >後( 'member_rank')和' user_id'將分別接收一個數組。您可以在PHP中循環訪問數組,併爲循環的每次迭代調用UPDATE代碼:

for ($i = 0; $i < count($member_id); $i++) { 
    $current_member_id = $member_id[$i]; 
    $current_member_rank = $member_rank[$i]; 
    // Call your update code. 
} 
+0

完美。謝了哥們! – Prefontaine 2012-02-13 03:00:38