通过codeigniter从数据库中的网格中以数组形式插入post数据


Insert post data as array from grid in database by codeigniter?

我想按网格插入数据,其中数据可以在一行或多行中。我想用codeigniter中的一个数组来做这件事。问题是我无法通过我的代码将此代码插入数据库。这里有我正在做的事情的代码演示。我想按网格在数据库中插入多行,但我收到的数据是作为数组的,我无法插入数据。

    <?php 
     $n = $m; // (could be any number to nth level);
     for($i=0; $i<=$n; $i++) { 
     ?> 
    <tr><td><input name="field1[]" id="active[]" value="" /></td> 
    <td><input name="field2[]" id="active[]" value="" />
    </td> <td><input name="field3[]" id="active[]" value="" />
    </td> </tr> 
    <?php }
    for ($i = 0; $i < count($_POST['field1']); $i++) {
   $data = array(
   'field1' => $_POST['field1'][$i],
   'field2' => $_POST['field2'][$i], 
   'field3' => $_POST['field3'][$i], 
   'field4' => $_POST['field4'][$i], );
   if ($_POST['field'][$i] = '') {
   $this->db->insert('field_table', $data);  
    } 
   ?>
------------------------------------------------------------------------

所以这是您的视图

 <tr><td><input name="field1[]" id="active[]" value="" /></td> 
  <td><input name="field2[]" id="active[]" value="" />
  </td> <td><input name="field3[]" id="active[]" value="" />

现在在控制器中,您需要将所有三个阵列都作为

$a=$_POST['field1'];
$b=$_POST['field2'];
$c=$_POST['field3'];
    $i = new MultipleIterator();
    $i->attachIterator(new ArrayIterator($a), 'field1');
    $i->attachIterator(new ArrayIterator($b), 'field2');
    $i->attachIterator(new ArrayIterator($v), 'field3');

那么它的简单

foreach ($i as $item) {
        $dr = $item[0];
        $tl = $item[1];
        $li = $item[2];
   $data = array(
   'field1' => $dr,
   'field2' => $tl, 
   'field3' =>$li
 );
   if ($_POST['field'][$i] = '') {
   $this->db->insert('field_table', $data);  
    }
 }

宾果