构建购物车应用程序。有些产品有选择,有些没有。如果该产品确实有选项,我的访客可以购买带有或不带有关联选项的产品。
我有以下 JOIN 语句来提取购物车输出的所有相关数据:
SELECT tblshopping_cart.cart_id,
tblshopping_cart.session_id,
tblshopping_cart.product_id,
tblshopping_cart.product_qty,
tblshopping_cart.product_option,
tblproducts.product_title,
tblproducts.product_price,
tblproducts.product_sale_price_status,
tblproducts.product_sale_price,
tblproduct_options.option_text,
tblproduct_options.option_upcharge
FROM tblshopping_cart
INNER JOIN tblproducts ON tblshopping_cart.product_id = tblproducts.product_id
INNER JOIN tblproduct_options
ON tblshopping_cart.product_option = tblproduct_options.option_product_id
WHERE tblshopping_cart.session_id = '$session_id'
ORDER BY tblshopping_cart.product_qty ASC
如果购物车中的所有产品都具有关联的 tblshopping_cart.product_option's 存在于 tblproduct_options 表中,则此方法有效。如果产品没有有效的选项,它只会返回那些有的选项。
默认情况下,添加的任何没有选项的产品都会添加到购物车,其中 product_option 值的值为“0”。如果站点用户确实选择了一个选项,则会添加选项值。
如果该行具有有效的 option_product_id,我需要做的是拉入选项信息(文本和附加费用)。