2012-02-13 3 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); 

} 

모델 :

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; 

    } 

} 

보기 :

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

이해가이 코드는 여기에

는 현재 내 코드에서 일부를 추출하다 잘못 했어. 일하지 않고 있지만 내가 지금까지 한 일을 나눌 것이라고 생각했습니다. '

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

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

그런 다음 $ this-> 입력 -> 포스트 ('member_rank ')를 실행 한 다음, 당신의 HTML 양식에

답변

0

드롭 다운을 변경하고 숨겨진 입력은 배열로 user_id '는 각각 배열을받습니다. PHP의 배열을 반복하고 루프 반복마다 업데이트 코드를 호출 할 수 있습니다.

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

Perfect. 고마워, 친구! – Prefontaine

관련 문제