2015-02-08 106 views
0

很久以前,我已经创建了一个坚实的多产品购物车,现在我决定向产品添加多个属性(如尺寸,颜色等)。购物车多属性产品

我的数据库是这样的:

产品: ID ...

属性 ID 名称(颜色/大小) 值(蓝/灰/ XXL) ...

Product_attributes ID atribute_id PRODUCT_ID

我已经添加了单一的产品页面上的属性附加伤害的投入,以这样的方式(它的工作)

if(the product has atributes on product_attributes table){ 
    while(there's product_attributes id){ 
     echo <select name=".$name."> 
     while(there's atributes equal to product_attributes){ 
      echo <option value=".$id.">$value</option> 
     } 
     echo </select> 
    } 
} 
<input type="number" name="qtd"> //quantity input 
<input type="hidden" name="product_id" value="$product_id"> 
<input type="hidden" name="action" value="add"> 
<input submit> 

而且在cart.php,我下面的脚本

if(isset($_POST['action']) && $_POST['action'] == 'add'){ 
    $product= $_POST['product_id']; 
    $qty= $_POST['qtd']; 

    if(!empty($_SESSION['cart'][$product])){ 
     $qty= $qty+ $_SESSION['cart'][$product]; 

    } 
    $_SESSION['cart'][$product] = $qty; 
    header('location: cart'); 
} 

如何我是否可以将此脚本调整为新的属性输入,知道: 并非所有产品都具有属性; 该产品可以有一个或无限的属性; 将产品保存在不同的阵列中,由于它们的数量和他的属性(例如:Prod:1,颜色:蓝色,尺寸:L数量:2 |产品:1,颜色:黑色,尺寸:1,数量:1 )

任何人都可以帮助我解决这个问题吗? 我爱你的仁慈;)

回答

1

我给你的只有这个想法创建两个表:

一个属性的类型

属性

ID的名称 - 值

1 -size-42

2-taglia-xxl

然后用与属性的关联和产物

协会

ID-产品属性

自动增量-1(例如ID 1的产品1) - 2(属性)

具有该id的产品具有taglia xxl,并且如果添加任何行将具有其他属性

相关问题