2014-01-23 52 views
0

我的程序有問題。例如我們輸入的sum collie是3.它會顯示3個表格輸入。表格輸入很長,寬,長,重。那麼如何向多行輸入數據庫呢?如何在codeigniter中輸入多行?

鑑於

<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> 

代碼的代碼模式

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

} 

我希望與我的問題的任何解決方案。先謝謝!

回答

0

注:不要POSTGETSESSION在模型中使用。在控制器本身做所有的邏輯和數據準備。只做模型中的DB活動。

對於您的問題,請將$jmlcollie存儲在View中的隱藏變量中。

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

在cotroller,做到循環使用$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'), 
    ); 

現在打電話給你的模型funcions:

$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

謝謝你的回答,但是當我嘗試不工作。解析錯誤中的任何錯誤:語法錯誤,意外的'jenisbrg'(T_STRING)在D:\ xampp \ htdocs \ warehouse \ application \ controllers \ btb.php – user3040085

+0

現在檢查。我在答覆中錯過了一個單引號。 –

+0

好吧,我一直在找它。現在在模態中的任何錯誤。錯誤顯示消息:爲foreach()提供的無效參數文件名:models/m_btb.php – user3040085

相關問題