0

医薬品のリストに関するデータベーステーブルを作成する必要があるとしましょう。

  • 列 1 は、自動インクリメント付きの一意の識別子フィールドです。例: 「1」
  • 列 2 には、薬の名前が含まれています。例: 「トラマドール」
  • 列 3 には重みのリストが含まれています。例:「30g、40g、50g、60g」

PHP の while ループと配列を使用すると、次の方法でこのデータをエコーできます。

while ($row = mysql_fetch_array($result)) {
   echo "Drug Name: {$row[1]} Drug Weights: {$row[2]}"
}

これは機能しますが、最善の方法ではないことはわかっています。重みのリストは、実際の個々の整数ではなく、varchar でなければなりません。列 3 に示されているように、1 つの製品に関するさまざまな情報を保存してエコーするための最良の方法は何ですか?

4

1 に答える 1

2

別のカップリング テーブル。すべての可能な重み (id、値) を含むテーブル「重み」を作成し、2 つの列 (結合された主キー) を持つ「drugs_to_weights_coupling」を作成します。1 つは薬物の ID で、もう 1 つは重みの ID です。

これは「多対多」の関係と呼ばれ、簡単に Google 検索できます。

于 2013-02-21T08:41:13.660 に答える