【问题标题】:Inserting multiple arrays into a mysql database将多个数组插入mysql数据库
【发布时间】:2013-10-03 08:23:09
【问题描述】:

每个 input->post 都是一个键/值数组。每个数组中的每个值都与数组的其余值匹配。因此,数据库插入的第一行将是数组中所有键 0 中的所有数据。第二行将是 1,依此类推。我如何从 post 数组中取出所有数据并使用这种方法将它们插入数据库?

$selected_size = $this->input->post('selected_size');
        $product_id = $this->input->post('product_id');
        $product_name = $this->input->post('product_name');
        $product_color = $this->input->post('product_color');

        $cookie_id = $this->input->cookie("cookie_id");
        $q1 = $this->db->query("SELECT * FROM default_cart_temp
                                WHERE cookie_id = '$cookie_id'
                                AND is_paid = 'No'");
        if ($q1->num_rows() > 0) {

        } else {
            print_r($selected_size);
            /*$data = array('selected_size' => $selected_size,
                          'product_id' => $product_id,
                          'product_name' => $product_name,
                          'product_color' => $product_color);

$this->db->insert('mytable', $data);*/
        }

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    假设您的 insert() 方法采用关联数组,然后构建并执行插入语句:

    foreach($product_id as $key => $value)
    {
        $data = array(
            'selected_size' => $selected_size[$key],
            'product_id' => $value,
            'product_name' => $product_name[$key],
            'product_color' => $product_color[$key]
        );
    
        $this->db->insert('mytable', $data);
    }
    

    通过在其中一个数组上使用foreach 并在每次迭代中获取键,您可以使用相同的键变量来访问其他数组中的对应元素。

    【讨论】:

    • 没问题 :) 编码愉快!
    猜你喜欢
    • 2018-05-04
    • 2011-12-06
    • 2014-12-02
    • 2011-07-05
    • 1970-01-01
    • 2013-04-13
    • 1970-01-01
    相关资源
    最近更新 更多