Php 使用codeigniter使用foreach插入数组值

Php 使用codeigniter使用foreach插入数组值,php,codeigniter,foreach,Php,Codeigniter,Foreach,我有一个如下的表单,它动态地添加和删除字段。我想要实现的是插入表单中的所有数据,而不管它已经存在多少行 <tr> <td><input name="model[]" type="text" class="input-large" id="A1" value="" /></td> <td><input name="color[]" type="text" class="input-small" id="Color1" value="

我有一个如下的表单,它动态地添加和删除字段。我想要实现的是插入表单中的所有数据,而不管它已经存在多少行

<tr>
<td><input name="model[]" type="text" class="input-large" id="A1" value="" /></td>
<td><input name="color[]" type="text" class="input-small" id="Color1" value="" /></td>
<td><input name="price[]" type="text" class="input-small" id="B1" value="" data-format="0,0[.]00" /></td>
<td><input name="quantity[]" type="text" class="input-small" id="C1" value="" data-format="0" /></td>
<td><input name="addon[]" type="text" class="input-small" id="D1" value="" data-format="0,0[.]00" /></td>
<td><input name="discount[]" type="text" class="input-small" id="E1" value="" data-format="0,0[.]00" /></td>
<td><input name="total[]" type="text" class="input-small" id="F1" value="" data-formula="($B1*$C1)+($D1-$E1)" readonly /></td>
<td><input type="button" value="remove" class="btn-remove btn btn-mini btn-danger" /></td>
</tr>
还有一个模型,比如:

public function AddPurchaseOrder($data){



$data =array();
    for($i=0; $i<sizeof($data); $i++) {
        $data[$i] = array(
            'model' => $model[$i], 
            'color' => $color[$i],
            'price' => $price[$i],
            'quantity' => $quantity[$i],
            'addon'=>$addon[$i],
            'discount'=>$discount[$i],
            'total'=>$total[$i],
            'code'=>$code[$i] 
        );
    }
$this->db->insert('purchase_order_info',$data);
}
public函数AddPurchaseOrder($data){
$data=array();
对于($i=0;$i$型号[$i],
'color'=>$color[$i],
“价格”=>$price[$i],
“数量”=>$quantity[$i],
“加载项”=>$addon[$i],
“折扣”=>$折扣[$i],
“总计”=>$total[$i],
“代码”=>$code[$i]
);
}
$this->db->insert('purchase\u order\u info',$data);
}
公共函数AddPurchaseOrder($data)
{
$data=array();
对于($i=0;$i<$count;$i++)
{
$data[$i]=数组(
'model'=>$model[$i],
'color'=>$color[$i],
“价格”=>$price[$i],
“数量”=>$quantity[$i],
“加载项”=>$addon[$i],
“折扣”=>$折扣[$i],
“总计”=>$total[$i]
);
}
$this->db->insert_batch('table_name_here',$data);
}

只想发布我的问题解决方案,以备将来参考。这可能会帮助任何在insert_batch()中有问题的人,或者想知道如何在db中使用insert_batch()记录的人

在我的模型中

$model = $this->input->post('model');
$color = $this->input->post('color');
$price = $this->input->post('price');
$quantity = $this->input->post('quantity');
$addon = $this->input->post('addon');
$discount = $this->input->post('discount');
$total = $this->input->post('total');

$orders = array();

for ($i=0; $i < count($model); $i++) { 

        $orders[] = array( 'id'=>null,
        'model' => $model[$i],
        'color' => $color[$i],
        'price' => $price[$i],
        'quantity' => $quantity[$i],
        'addon' => $addon[$i],
        'discount' => $discount[$i],
        'total' => $total[$i]   
        );

    } 

$this->load->model('purchase_order');
$result = $this->purchase_order->AddPurchaseOrder($orders);
$model=$this->input->post('model');
$color=$this->input->post('color');
$price=$this->input->post('price');
$quantity=$this->input->post('quantity');
$addon=$this->input->post('addon');
$discount=$this->input->post('discount');
$total=$this->input->post('total');
$orders=array();
对于($i=0;$inull,
'model'=>$model[$i],
'color'=>$color[$i],
“价格”=>$price[$i],
“数量”=>$quantity[$i],
“加载项”=>$addon[$i],
“折扣”=>$折扣[$i],
“总计”=>$total[$i]
);
} 
$this->load->model('purchase_order');
$result=$this->purchaseorder->AddPurchaseOrder($orders);
在我的模型中

public function AddPurchaseOrder($orders){

$this->db->insert_batch('purchase_order_info', $orders); 
print '<pre>';
print_r($orders);
print '</pre>';
die();
}
public函数AddPurchaseOrder($orders){
$this->db->insert_batch('purchase_order_info',$orders);
打印“”;
打印(订单);
打印“”;
模具();
}

我希望它对任何人都有帮助。

hi@Aishish I receive error您必须使用“set”方法更新条目抱歉,我再次收到错误消息:使用未定义常量I-假设“I”使用$data[$I];代替$data[i]消息:未定义变量:数据抱歉,我现在困惑了,请发布您使用的新代码,我将帮助您更正此问题
public function AddPurchaseOrder ($data)
{
    $data =array();
    for($i=0; $i < $count; $i++) 
    {
        $data[$i] = array(
        'model' => $model[$i], 
        'color' => $color[$i],
        'price' => $price[$i],
        'quantity' => $quantity[$i],
        'addon'=>$addon[$i],
        'discount'=>$discount[$i],
        'total'=>$total[$i] 
        );
    }

    $this->db->insert_batch('table_name_here', $data);
}
$model = $this->input->post('model');
$color = $this->input->post('color');
$price = $this->input->post('price');
$quantity = $this->input->post('quantity');
$addon = $this->input->post('addon');
$discount = $this->input->post('discount');
$total = $this->input->post('total');

$orders = array();

for ($i=0; $i < count($model); $i++) { 

        $orders[] = array( 'id'=>null,
        'model' => $model[$i],
        'color' => $color[$i],
        'price' => $price[$i],
        'quantity' => $quantity[$i],
        'addon' => $addon[$i],
        'discount' => $discount[$i],
        'total' => $total[$i]   
        );

    } 

$this->load->model('purchase_order');
$result = $this->purchase_order->AddPurchaseOrder($orders);
public function AddPurchaseOrder($orders){

$this->db->insert_batch('purchase_order_info', $orders); 
print '<pre>';
print_r($orders);
print '</pre>';
die();
}