【问题标题】:associative array into columns of database关联数组到数据库的列
【发布时间】:2016-07-03 20:23:50
【问题描述】:

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

我有一个名为“vehicle[]”的输入字段,实际上这个字段由 8 个字段组成,例如品牌、型号、颜色等。

用户也可以使用“添加另一个”选项添加更多车辆,输入字段与车辆[]相同

这是我的 codeigniter 模型代码

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

【问题讨论】:

  • Codeigniter 文档没有介绍如何使用数据库吗?顺便提一句。你的代码没有意义。您在同一个数组中有两个名为 'color' 的数组键。第二个会覆盖第一个,为什么在将数据保存到数据库之前“json_encode()”?
  • 在对 CI 处理 DB 查询的方式进行了更多研究之后,他们似乎没有使用准备好的语句,而是有自己的“查询绑定”实现,这足以让我们放弃该框架...或包含另一个安全的数据库库。
  • @Magnus Eriksson 我有 8 个输入字段(品牌、颜色、底盘、型号、发动机、编号、轮胎、电池)都被命名为车辆 [],默认情况下用户可以添加 1 辆车,如果他们有更多的车辆,可以使用添加功能来添加另一辆也具有相同字段的车辆的详细信息。我只想将这个数组的数据保存在各个列中
  • 就像我说的,documentation 解释了如何插入数据。如果车辆是一个数组,只需将数据作为数组获取:$data = array('model' => $new['model], ...and so on);
  • 谁能帮我解决这个问题

标签: php mysql arrays codeigniter


【解决方案1】:

你应该这样编码
//查看

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

// 型号

公共函数vehicle(){

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

【讨论】:

  • 谢谢,但我有这样的东西
  • 看看我的图片,如果他们愿意,我有一个添加另一辆车的功能。就像这个默认的 v1 - 编号、型号、颜色等然后添加新的.....这将提供相同的输入框来添加第二个车辆
  • 为什么只有 $new = $this->input->post('vehicle_number');是否还必须有其他帖子值?
猜你喜欢
  • 2022-06-23
  • 2021-12-15
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 2011-12-28
  • 1970-01-01
  • 1970-01-01
  • 2012-11-10
相关资源
最近更新 更多