2014-01-23 5 views
0

내 프로그램에 문제가 있습니다. 우리가 입력 콜리를 입력 예를 들어 3. 그것은 3 테이블 입력을 보여줍니다. 테이블 입력은 길고, 넓으며, 길이, 무게입니다. 그래서 어떻게 여러 행으로 데이터베이스에 입력? 나는 내 문제에 어떤 해결책을 희망 codeigniter에서 여러 행을 입력하는 방법은 무엇입니까?

function add(){ 

    $data = array(
     'no_btb' => $this->input->post('nobtb'), 
     'jenis_brg' => $this->input->post('<?php echo 'jenisbrg), 
     'long' => $this->input->post('<?php echo 'long'.$i; ?>'), 
     'wide' => $this->input->post('<?php echo 'wide'.$i; ?>'), 
     'length' => $this->input->post('<?php echo 'length'.$i; ?>'), 
     'weight' => $this->input->post('<?php echo 'weight'.$i; ?>'), 
     'volume' => $this->input->post('<?php echo 'volume'.$i; ?>'), 
    ); 
    $this->db->insert('detail_barang', $data); 

    $data = array(
     'no_btb' => $this->input->post('nobtb'), 
     'jml_collie' => $this->input->post('jmlcollie'), 
     'total_volume' => $this->input->post('tot_volume'), 
    ); 
    $this->db->insert('btb', $data); 

} 

모달

에서

<div style="min-height:370px;"> 
     <form method="post" name="hit"> 
      <?php 
       if (isset($_POST['jmlbrg'])){ 
       $jmlcollie = $_POST['jmlcollie']; 

      ?> 
      <div> 
       <?php 
        for ($i=1; $i <= $jmlcollie; $i++) { 
       ?> 
       <div class="row"> 
        <input type="text" class="span1 text-center" name="<?php echo 'jml'.$i;?>" id="<?php echo 'jml'.$i;?>" value="<?php echo $i; ?>"> 
        <input type="text" class="span3 text-center" name="<?php echo 'jenisbrg'.$i;?>" id="<?php echo 'jenisbrg'.$i;?>"> 
        <input type="text" class="span2 text-center" name="<?php echo 'long'.$i; ?>"> 
        <input type="text" class="span2 text-center" name="<?php echo 'wide'.$i; ?>"> 
        <input type="text" class="span2 text-center" name="<?php echo 'length'.$i; ?>"> 
        <input type="text" class="span3 text-center" name="<?php echo 'weight'.$i; ?>"> 
        <input type="text" class="span3 text-center" name="<?php echo 'volume'.$i; ?>" id="<?php echo 'volume'.$i; ?>"> 
       </div> 
       <?php } ?> 
      </div> 
      <?php } ?> 

     </form> 

    </div> 

코드보기에서

코드입니다. 전에 감사드립니다!

답변

0

참고 :POST, GET, SESSION을 모델에 사용하지 마십시오. 모든 논리 및 데이터 준비는 컨트롤러 자체에서 수행하십시오. 모델에서 DB 활동 만 수행하면됩니다.

질문에 대해서는 $jmlcollie을보기의 숨김 변수에 저장하십시오. cotroller에서

<input type='hidden' name='jmlcollie' value='<?php echo $jmlcollie;?>'/> 

$this->input->post("jmlcollie");

와 루프 컨트롤러의 데이터를 준비 할 : 이제

$detail_barang= array(); 
$jmlcollie = $this->input->post("jmlcollie"); 
for ($i=1; $i <= $jmlcollie; $i++) { 
$detail_barang[] = array(
     'no_btb' => $this->input->post('nobtb'), 
     'jenis_brg' => $this->input->post('jenisbrg'), 
     'long' => $this->input->post('long'.$i), 
     'wide' => $this->input->post('wide'.$i), 
     'length' => $this->input->post('length'.$i), 
     'weight' => $this->input->post('weight'.$i), 
     'volume' => $this->input->post('volume'.$i), 
    ); 
} 
$btb = array(
     'no_btb' => $this->input->post('nobtb'), 
     'jml_collie' => $this->input->post('jmlcollie'), 
     'total_volume' => $this->input->post('tot_volume'), 
    ); 

모델의 함수들이 그냥 전화 :

$this->MODEL_NAME->add($detail_barang,$btb); 

당신이 모델

function add($detail_barang,$btb){ 

    foreach($detail_barang as $data) // you cna do batch insert also. 
    { 
     $this->db->insert('detail_barang', $data); 
    } 
    $this->db->insert('btb', $btb); 

} 
+0

답장을 보내 주셔서 감사합니다.하지만 시도 할 때 작동하지 않습니다. 구문 오류, D : \ xampp \ htdocs \ warehouse \ application \ controllers \ btb.php의 예기치 않은 'jenisbrg'(T_STRING) – user3040085

+0

지금 확인하십시오. 나는 대답에서 작은 따옴표를 놓쳤다. –

+0

그래, 찾았 어. 이제 모달의 모든 오류. 오류 메시지가 표시됩니다. 잘못된 인수 foreach() 파일 이름 : models/m_btb.php – user3040085

관련 문제