2016-10-05 10 views
1

この質問がここにあるべきかどうかはわかりませんが、問題を尋ねるのに適した場所は他にありません。異なるウェイトの同じ製品を実装する方法

私は、明らかに食品、スナック、ケーキ、デザートを販売するオンラインフードポータルを開発しています。実際には、0.1|0.5|0.9|...4.5などのさまざまな重量で存在することができるケーキを販売しなければなりません。さらに、それらのすべてが倉庫に異なる量で存在します。これを達成する

マイ溶液はすべてバリアントここ

ID | product_code | product name | Quantity | price | weight | company_id 
1 | 12345  | beer cake | 34  |345 |0.5  |343434defee 
2 | 12345  | beer cake | 343 |600 |1.0  |343434defee 
3 | 12345  | beer cake | 4  |845 |1.5  |343434defee 
4 | 12346  | vodka cake | 341 |345 |0.5  |343434deereee 

に異なる行を提供することであった、私はすべての行をdifferentitateせながら製品コードを使用して関係を提供し、異なる製品であることがすべての製品を見私はid,product_codeを主キーとして選択します。

しかし、この方法を使用すると、還元性も含まれます。すべての行は異なる製品として見えます。phpを使用して表示すると、異なる製品として表示されます。

このような何か、

enter image description here

どのように私は、単一の製品を達成するために、同じ項目の異なるバリエーションオプションで私のデータベースの私の構造を変更できますか?

php解決策があれば使用できます。

ありがとう、

BOTjr。

+0

を選択するには製品の説明ページです。新しいテーブル「バリアント」(商品コードとバリアントコードと、重量や価格などの異なる列が含まれている)を追加するか、オンラインショップでさらに頻繁に使用されることがあります同じ表で行い、主要な製品として1つの製品を定義し、その製品の変種であれば主要製品にリンクする列を追加します。また、在庫表(すべての変更を挿入する場所)を使用して数量を計算することを検討する必要があります.1つの値を設定すると、ライブに行くときに問題が発生します。 – Solarflare

+0

@Solarflare例を表示できますか? –

答えて

3

テーブルを2つに分割し、product_codeを外部キーとして分割します。

Table One 
    ID | product_code | product name | company_id 
    1 | 12345  | beer cake |343434defee 
    2 | 12346  | vodka cake |343434deereee 

Table Two 
     Product_code |Quantity | price | weight 
     12345  | 34  |345 |0.5 
     12345  | 343 |600 |1.0 
     12345  | 4  |845 |1.5 
     12346  | 341 |345 |0.5 

項目を表示するために使用Table One、使用Table Twoは通常の方法は、製品のバリエーションを導入することである右の量

+0

多種多様な選択肢の選択肢をどのように提供するかを示す少しのPHPコードを表示できますか? –

+0

PHPでMySQLのクエリを実行することを知っていますか? –

+0

笑、そうだよ、それを残す。私はそれを見るだろう。私にこのことをどうやって行うのか、公正なアイデアを提供してくれてありがとう。 –

関連する問題