私の e コマース アプリケーションの一部として、この興味深い問題があり、解決しようとしています。
私には2つのことがあります。
- カテゴリー
- 製品
リレーショナル データベースの意味では、カテゴリは複数の製品を持つことができ、製品はカテゴリにのみ属することができます。
次に、特定の製品とカテゴリに関連付けられているクーポンの詳細を変更したい、この e コマース管理クーポン ページがあります。
変更ページには、次のフィールドがあります
クーポンの説明 - TextField タイプ クーポン価格 - TextField タイプ クーポンのパーセンテージ - TextField タイプ カテゴリ名 - ドロップダウンフィールド タイプ 製品名 - ドロップダウンフィールド タイプ
次のSQLクエリがあります。
$sql = "SELECT cp_description, cp_discountprice, cp_discountpercent, pd_name, cat_name
FROM tbl_coupon inner join (tbl_product, tbl_category) on
(tbl_product.pd_id = tbl_coupon.pd_id AND tbl_category.cat_id=tbl_product.cat_id)
WHERE cp_id = $cpId";
この問題で本当に興味深いのは、pd_id フィールドと cat_id フィールドを SQL クエリに含めることができなかったため、これらのフィールドを検索して、事前入力されたときにドロップダウン フィールドで正しい選択された要素を取得する別の SQL コードでそれらを操作できることです。
これらのフィールドは「一意」ではないため、問題が発生する可能性があるため、select ステートメントでpd_nameまたはcat_nameを使用できません。
この問題に取り組むための最良の方法は何か考えている人はいますか? 私は、distinctキーワードがそのトリックを行うかもしれないと思っていました...しかし、そうではありません!