关联数组到数据库的列

问题描述:

我需要帮助将关联数组存储到codeigniter中的数据库列中。关联数组到数据库的列

我有一个名为输入字段“车辆[]”,其实这一个这包括像品牌,型号,颜色的8场等

还用户可以添加使用“添加其他”多一个多辆其中输入字段相同车辆选项[]

,这里是我的模型代码笨

public function vehicle($new){ 

    $new = $this->input->post('vehicle'); 

    $data = array(
     'vehicle_number' => json_encode($new), 
     'make'  => json_encode($new), 
     'color'  => json_encode($new), 
     'color'  => json_encode(model), 
    ); 
    $this->db->insert('vehicles_tbl', $data); 

这种方式存储在数据库中的一列的全部,他的数据,我怎么能存储在每个值数据库的相关列。

My controller 

$this->vehicle_model->vehicle($new); 

my application

+1

Codeigniter文档是否不通过如何使用数据库?顺便说一句。你的代码没有意义。在同一个数组中有两个名为“color”的数组键。第二个会覆盖第一个,为什么在将数据保存到数据库之前“json_encode()”数据? –

+0

在CI的处理DB-queries的方式上看起来似乎不像他们那样使用准备好的语句,但有自己的“查询绑定”实现,这是足够理由放弃该框架......或包括另一个安全的数据库库。 –

+0

@ Magnus Eriksson我有8个输入字段(品牌,颜色,底盘,型号,发动机,编号,轮胎,电池)都被命名为车辆[],默认情况下,如果用户拥有更多车辆,则可以添加1辆车。用户添加功能可以添加具有相同区域的其他车辆的详细信息。我想我保存这个数组的数据尊重列 – user1419170

你应该像这样的代码
//视图

< input type="text" name="vehicle_number[]"> 
< input type="text" name="make[]"> 
< input type="text" name="color[]"> 
< input type="text" name="model[]"> 

//型号

公共职能车辆(){

$new = $this->input->post('vehicle_number'); 



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

    $data[] = array(
     'vehicle_number' => $_POST['vehicle_number'][$i], 
     'make'  => $_POST['make'][$i], 
     'color'  => $_POST['color'][$i], 
     'model'  =>$_POST['model'][$i], 
     ); 

} 

return $ this-> db-> insert_batch('vehicles_tbl',$ data);

+0

谢谢,但我有这样的东西 user1419170

+0

你正在做错事!我给你的解决方案 – Boominathan

+0

看看我的形象,我有一个功能,如果他们想要添加另一辆车。 就是这样 默认v1 - 数字,模型,颜色等等,然后添加新的.....这将给相同的输入框添加第二个车辆 – user1419170