Php 插入批处理数据数组?

Php 插入批处理数据数组?,php,arrays,codeigniter,foreach,Php,Arrays,Codeigniter,Foreach,我希望通过insert\u batch插入以下数据,如数据库表(mysql)中的以下示例所示: HTML: 我想插入如下内容: 应该如何更改php代码和html代码?我该怎么办?哈哈,这并不漂亮,但有时可能会奏效: <input name="u_id[]" value="76"> <input name="un[]" value="1"> <input type="text" name="ue[]" value="11"> <input type="

我希望通过
insert\u batch
插入以下数据,如数据库表(mysql)中的以下示例所示:

HTML:

我想插入如下内容:


应该如何更改php代码和html代码?我该怎么办?

哈哈,这并不漂亮,但有时可能会奏效:

<input name="u_id[]" value="76">

<input name="un[]" value="1">
<input type="text" name="ue[]" value="11">
<input type="text" name="up[]" value="111">



<input name="u_id[]" value="77">

<input name="un[]" value="2">
<input type="text" name="ue[]" value="22">
<input type="text" name="up[]" value="222">

<input name="un[]" value="3">
<input type="text" name="ue[]" value="33">
<input type="text" name="up[]" value="333">


$u_id=$this->input->post('u_id');
$un=$this->input->post('un');
$up=$this->input->post('up');
$ue=$this->input->post('ue');
对于($i=0;$i1)$uen=$ue[$i][$ii+1]:$uen=$ue[$i][$ii];
(计数($up[$i])>1)?$upn=$up[$i][$ii+1]:$upn=$up[$i][$ii];
$this->db->insert('units',array(//在此处使用db insert
“u_id”=>u_id[$i][0],
“un”=>$unn,
“ue”=>$uen,
'up'=>upn美元,
));
}
}
我甚至建议你不要用它。但也许这会激励人们提供更好的解决方案


干杯。

我假设您使用的是CodeIgniter,并且要插入的数据库表的名称称为“units”,其“id”列为autoincrement

我基于CodeIgniter用户指南2.0.3版的解决方案,使用对数据库类的助手
($this->db->insert_string())
的调用

foreach ($data as $row)
{
    $error_code = $this->db->insert_string('units', $row); 
}


数据库类提供的
insert\u string
函数似乎接受一个关联数组,从内部元素构建一个
insert
语句,执行它,然后返回一个数字错误代码。

您使用的是一个框架,我们不知道是哪个框架,至少给我们一个框架名称,因为我不知道“insert_batch”是从哪里来的,它不是@hakre的标准PHPExact副本-与其追我,不如帮我@Mathieu Dumoulin-没有框架怎么办?我不理解你的问题。你的php代码不是真的。我希望在数据库表中插入上述值,如下图所示:。你不明白我的问题在哪里?
<input name="u_id[]" value="76">

<input name="un[]" value="1">
<input type="text" name="ue[]" value="11">
<input type="text" name="up[]" value="111">



<input name="u_id[]" value="77">

<input name="un[]" value="2">
<input type="text" name="ue[]" value="22">
<input type="text" name="up[]" value="222">

<input name="un[]" value="3">
<input type="text" name="ue[]" value="33">
<input type="text" name="up[]" value="333">
$u_id=$this->input->post('u_id');
$un=$this->input->post('un');
$up=$this->input->post('up');
$ue=$this->input->post('ue');
for($i=0;$i<count($u_id);$i++){
    for($ii=0;$ii<count($un[$i]);$ii++){
        (count($un[$i])>1)?$unn=$un[$i][$ii+1]:$unn=$un[$i][$ii];
        (count($ue[$i])>1)?$uen=$ue[$i][$ii+1]:$uen=$ue[$i][$ii];
        (count($up[$i])>1)?$upn=$up[$i][$ii+1]:$upn=$up[$i][$ii];
        $this->db->insert('units', array(//use db insert here
            'u_id'=>$u_id[$i][0],
            'un'=>$unn,
            'ue'=>$uen,
            'up'=>$upn,
        ));
    }
}
foreach ($data as $row)
{
    $error_code = $this->db->insert_string('units', $row); 
}