2014-12-18 4 views
-2

동일한 ID에 여러 개의 삽입 체크 박스를 만들고 싶습니다. 나는이 같은 테이블이 :codeigniter에 여러 개의 체크 박스 값 삽입하기

id id_fleet unit_id 
1 1  CAO27 
2 1  CA098 
3 2  CA078 

제출 형태의 하나에 나는 id_fleet 1에서 선택하고 내가 2 unit_id을 확인합니다. 내 코드로 시도하면 하나의 체크 만 저장합니다. 이 내 모델입니다

$fleet = $this->input->post('id_fleet'); 
      $unit_id = $this->input->post('unit_id'); 

      $records = array(); 

      for ($i=0; $i < count($unit_id) ; $i++) { 
       $data = array(
        'id_fleet' => $fleet, 
        'unit_id' => $unit_id 
       ); 

       array_push($records, $data); 
      } 

      $query = $this->database_three->query("select 
       count(id_fleet_member) as unit from fleet_member 
       where id_fleet = '$fleet'"); 
      $ans = $query->row(); 

      if ($ans->unit > 0) 
      { 
       $this->session->set_flashdata('message', generateErrorMessage('Data gagal ditambah')); 
       redirect(site_url('fleet_member'));  
      } 
      else 
      { 
       for ($i=0; $i <sizeof($data['unit_id']) ; $i++) { 
        $query = "insert into fleet_member (id_fleet, unit_id) values ('".$data['id_fleet']."','".$data['unit_id'][$i]."')"; 
        $this->session->set_flashdata('message', generateSuccessMessage('Data berhasil ditambah')); 
        redirect(site_url('fleet_member')); 
       } 

      } 

:

이 컨트롤러에 내 코드입니다

function add_fleet_member($data) 
    { 
     $this->database_three->insert($this->tbl_fleet_member, $data); 
     if ($this->database_three->affected_rows() > 1) 
     { 
      return true; 
     }else{ 
      return false; 
     } 
    } 

이것은보기에 :

<div class="checkbox"> 
     <?php foreach ($unit_list as $data) :?> 
     <label> 
      <input type="checkbox" name="unit_id[]" value="<?php echo $data->unit_id ?>"><?php echo $data->unit_id ?> 
     </label> 
     <?php endforeach?> 
</div> 

당신이 왜 내 코드 나를 도울 수 하나의 값 확인란 만 저장 하시겠습니까?

당신에게

답변

0
  $fleet = $this->input->post('id_fleet'); 
      $unit_id = $this->input->post('unit_id'); 

      $records = array(); 

      for ($i=0; $i < count($unit_id) ; $i++) { 
       $records[] = array('id_fleet' => $fleet,'unit_id' => $unit_id[$i]); 
      } 

      $query = $this->database_three->query("select 
       count(id_fleet_member) as unit from fleet_member 
       where id_fleet = '$fleet'"); 
      $ans = $query->row(); 

      if ($ans->unit > 0) 
      { 
       $this->session->set_flashdata('message', generateErrorMessage('Data gagal ditambah')); 
       redirect(site_url('fleet_member'));  
      } 
      else 
      { 

       foreach ($records as $key => $value) { 
        $query = "insert into fleet_member (id_fleet, unit_id) values ('".$value['id_fleet']."','".$value['unit_id']."')"; 
        $this->db->query($query); 
       } 
       $this->session->set_flashdata('message', generateSuccessMessage('Data berhasil ditambah')); 
       redirect(site_url('fleet_member')); 
      } 
감사합니다