2014-01-23 21 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

相关问题