Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php codeigniter:如何在数据库中存储产品选择_Php_Mysql_Codeigniter - Fatal编程技术网

Php codeigniter:如何在数据库中存储产品选择

Php codeigniter:如何在数据库中存储产品选择,php,mysql,codeigniter,Php,Mysql,Codeigniter,在我的购物车里。有些产品已选择了两种类型的选项。即颜色和大小。如何保存到数据库 我的控制器: foreach ($this->cart->contents() as $item) { if(empty($items['before'])) { $harga_fix_diskon_atau_non_diskon = $this->cart->format_number($item['price']); } else {

在我的购物车里。有些产品已选择了两种类型的选项。即颜色和大小。如何保存到数据库

我的控制器:

foreach ($this->cart->contents() as $item)
{
    if(empty($items['before']))
    {
        $harga_fix_diskon_atau_non_diskon = $this->cart->format_number($item['price']);
    }
    else
    {
        $harga_fix_diskon_atau_non_diskon = $this->cart->format_number($item['before']);
    }
    foreach ($this->cart->product_options($item['rowid']) as $option_name => $option_value)
    {
        if(empty($option_value))
        {
            $option_value = "";
        }
        else
        {
            $option_value;
        }
        $option = $option_value;
    }
    $data_order[] = array(
        'invoice'     => $invoice,
        'name_product' => $item['name'],
        'size'        => $item['option'],
        'color'       => $item['option'],
        'qty'         => $item['qty'],
        'price'       => $harga_fix_diskon_atau_non_diskon,
        'weight'      => $item['berat'],
    );
}
$this->db->insert_batch('order_product', $data_order);
我保存了除产品选择部分之外的所有数据

我的数据库处理的结果是大小和颜色的问题:

----------------------------------------------------------------
| invoice | name_product | size | color | qty | price | weight |
----------------------------------------------------------------
| ST5623  | Nike         |  42  | 42    |  2  |   28  |  0,5   |
*应位于包含颜色的颜色列中。

如果我使用print_r();并设法让我知道我想要什么。即颜色就是颜色,大小就是大小

foreach ($this->cart->product_options($item['rowid']) as $option_name => $option_value)
{
    if(empty($option_value))
    {
        $option_value = "";
    }
    else
    {
        $option_value;
    }
    $option = $option_value;
    print_r($option);
}

请帮忙。谢谢。

因为您的颜色和大小设置相同

'size' => $item['option'], 'color' => $item['option']

或者您需要检查$item的颜色参数

您需要根据选择更新颜色和大小列,不是吗?是的,先生……。只需在颜色部分使用$this->db->update(),大小未正确更新。查看我的数据库中的结果。由鞋号填充的颜色列。不应为SoB,因为您对颜色和大小“大小”=>$item['option'],“颜色”=>$item['option'],@Danny Setyawan的设置值相同