如何找到适合以下结构的产品包装?

时间:2014-08-23 04:50:43

标签: php mysql magento opencart prestashop

如何找到合适的产品包以获取 PHP MySQL 的以下结构?

我有2个存储产品包详细信息的表:

products_packages

products_package_id | package_title | package_description | package_offer_type | package_offer_value

products_packages_items

auto_id | products_package_id | products_id | package_offer_value | qty_min | qty_max
  1. products_packages:用于存储包裹详细信息
    • package_offer_type
    • package_offer_value 10
  2. products_packages_items:用于存储products_packages的相关产品
  3. 如何减少每个产品包装项目的 10%金额? 如何找到最合适的产品套餐,为客户提供更多折扣?

    我有购物车详细信息数组,其中包含订单产品详细信息。如何找到合适的产品包装?

    [cart_details] => Array
        (
           [0] => Array
                (
                    [product_id] => 1
                    [quantity] => 100
                    [price] => 10.00
    
                    [product_title] => Standard Business Cards                    
    
                )
    
            [1] => Array
                (
                    [product_id] => 81
                    [quantity] => 100
                    [price] => 10.00
    
                    [product_title] => Metallic Business Cards                    
    
                )
        )
    

1 个答案:

答案 0 :(得分:1)

我对你的问题的不体面是:

  

您在套餐中提供折扣。套餐包含多种产品的折扣。   当客户购买一组产品(购物车)时,您需要找到哪个折扣套餐将为客户带来最大价值。

为此,您需要计算应用于购物车的每个折扣套餐的节省。然后选择最大限度节省资金的套餐。如果几个包绑定 - 选择其中任何一个。

更新1。因为没有购物车表,我们会得到"购物车"从主要产品表中选择产品ID

select top 1 Package_id from (
    select 
        Packages.Package_id,
        Prod_id, 
        Quantity * Price * Packages.Discount as ProductDiscount
    from Products
    join PackgeItems on Products.Prod_id = PackageItems.Prod_id
    join Packages on Packageitems.Package_id = Packages.Package_id
    where Products.Prod_ID in ( <comma separated list of Prod_IDs from Array> )
)
group by Package_id
order by sum (ProductDiscount) Desc

您可以在中间添加一个或两个选择以进行测试。