将多维数组循环到mysql中

时间:2014-06-05 02:25:54

标签: php mysql arrays

我有一个多维数组,其结构类似于

[nmbr] => Array
       (
           [0] => u
           [1] => t
       )
[jmlh] => Array
        (
           [0] => 4
           [1] => 6
        )

我希望将其插入到一个看起来像

的数据库中
id   nmbr   jmlh
1    u      4
2    t      6

我尝试使用for循环,但它只检测第一个数组,第二个数组未插入数据库。

这是我的循环

$namabarang = $_POST['nmbr'];
$jumlah = $_POST['jmlh'];
for ( $i = 0; $i<$total; $i++)
{
  $nmbr = $namabarang[$i];
  $jmlh = $jumlah[$i];
  $data = array(
    'id_tender' => $primary_key,
        'nmbr' => $nmbr,
        'jumlah' => $jmlh
        );
  $this->db->insert('tb_tender_barang', $data);
}

1 个答案:

答案 0 :(得分:1)

如果两个阵列的大小相同。一个简单的for循环就足够了。在当前代码中,您没有检查在循环中使用的任何一个的大小。考虑这个例子:

// this will just strictly work if they have the same size!
$namabarang = $_POST['nmbr'];
$jumlah = $_POST['jmlh'];

for($i = 0, $size = count($jumlah); $i < $size; $i++) {
    $data = array('id' => $i+1, 'nmbr' => $nmbr[$i], 'jmlh' => $jmlh[$i]);
    $this->db->insert('tb_tender_barang', $data);
}
  

旁注:为什么需要在表格中手动插入id?让AUTO INCREMENT为您处理。