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);
}