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

时间:2017-06-06 02:52:46

标签: 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
    {
        $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);
}

请求帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

因为您为颜色和尺寸设置了相同的值

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

或者您需要检查$ item是否有颜色参数