2014-01-23 3 views
0

У меня проблема с моей программой. Например, мы вводим сумму 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

Примечание: Не используйте POST, GET, SESSION в модели. Выполняйте все логики и подготовку данных в самом контроллере. Просто выполняйте только действия DB в Model.

На ваш вопрос, храните $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

Благодарим вас за ответ, но когда я пытаюсь не работать. любая ошибка в ошибке Parse: синтаксическая ошибка, неожиданный «jenisbrg» (T_STRING) в D: \ xampp \ htdocs \ store \ application \ controllers \ btb.php – user3040085

+0

сейчас. Я пропустил одну цитату в своем ответе. –

+0

хорошо, я его нашел. и теперь любая ошибка в модальном. error is show Сообщение: Недопустимый аргумент для foreach() Имя файла: models/m_btb.php – user3040085

Смежные вопросы