2012-04-11 7 views
0

を事前格納するために、私はこの興味深い問題を抱えている、私が解決しようとしてきました。mysqlのドロップダウンフィールド私のeコマースアプリケーションの一部として

私には2つのものがあります。リレーショナルデータベースの意味で

  • カテゴリー
  • 製品

、カテゴリは、複数の製品を持つことができ、製品が唯一のカテゴリに属する​​ことができます。

はその後、私は特定の製品とカテゴリに関連付けられたクーポンの詳細を変更したい、このeコマース管理クーポンページを持っています。修正ページで

、私持って次のフィールド

クーポンの説明 - のTextFieldタイプ クーポン価格 - のTextFieldタイプ クーポンパーセンテージ - のTextFieldタイプ カテゴリ名 - Dropdownfieldタイプ 製品名 - Dropdownfieldタイプ

次のSQLクエリがあります。何この問題については本当に面白いですが、私はをpd_idとので、私は正しい選択を取得するために、これらのフィールドを検索します別のSQLコードでそれらを操作することができ、SQLクエリにフィールドをCAT_ID含まれていない可能性があることです

$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"; 

ドロップダウンフィールド内の要素です。

これらのフィールドは「ユニークな」ありませんので、問題を引き起こす可能性がありますので、私は、select文でpd_nameまたはcat_nameを使用することはできません。

は、誰もが任意のアイデアこの問題にアプローチする最良の方法は何がありますか?私は明白なキーワードがトリックをするかもしれないと思った...しかし、それはありません!

答えて

0

このようなクエリを使用できませんか?

SELECT 
    cp.cp_description, cp.cp_discountprice, cp.cp_discountpercent, 
    p.pd_id, p.pd_name, 
    cat.cat_id, cat.cat_name 
FROM tbl_coupon cp 
INNER JOIN tbl_product p ON p.pd_id = cp.pd_id 
INNER JOIN tbl_category cat ON p.cat_id = cat.cat_id 
WHERE cp_id = $cpId 
+0

わかりました。ありがとうございました。私はそれを行って、それが動作するかどうかを知らせます。 – awongCM

+0

こんにちは。ちょうどあなたがコードが動作することを知らせる...私はあなたがクエリでユニークなIDを取得することができるいくつかの基本的なSQL構文があることを知っていた...あなたが説明するまで何だったのか分からなかった。再度、感謝します! – awongCM

関連する問題