ショッピングカートアプリの作成。一部の製品にはオプションがあり、一部にはありません。私の訪問者は、その製品にオプションがある場合、アソシエートオプションの有無にかかわらず製品を購入できます。
ショッピングカートの出力のすべての相対データを取得するために、次の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
カート内のすべての商品に、tblproduct_optionsテーブルに存在するtblshopping_cart.product_optionが関連付けられている場合に機能します。製品に有効なオプションがない場合は、有効なオプションのみが返されます。
デフォルトでは、オプションなしで追加された商品は、product_option値が「0」の値でカートに追加されます。サイトユーザーがオプションを選択した場合、代わりにオプション値が追加されます。
その行に有効なoption_product_idがある場合は、オプション情報(テキストと追加料金)を取得する必要があります。