2

車の部品をデータベースに保存しています。明らかに、一部の部品は特定の車両の特定の年にのみ適合します。

MySQLにパーツを入力するとき、ユーザーに「41、42、43、45、46」などの日付にこの形式を使用してもらいます。次に、PHPで内破、分解します。それは、私がする必要があったことのために、うまくいきます。

今、私はそれらが利用可能である年に基づいて部品を引っ張る必要があります。手伝うことができれば、フォームで複数の選択ボックスを使用する必要はありません。

何か案は?

4

2 に答える 2

3

個別にアクセスする場合は、1つのフィールドに複数の情報を保存しないでください。一度もない。

すべてのモデル年をパーツテーブルの単一のフィールドに詰め込むのではなく、モデル年とパーツを結合できるようにDBを作り直す必要があります。

いくつかのトリッキーなテキスト選択は一種の作業になりますが、それは間違いなくあなたのパフォーマンスを殺します。これが単一のモデルであっても完全なパーツカタログである場合、パフォーマンスが低下して使用できなくなります。

申し訳ありませんが、本当に両方を持つことができない場合は、礼儀正しいよりも正直です。

于 2012-09-11T03:37:48.520 に答える
2

あなたは多対多の関係を持っています...だから別のテーブルを作成してください

例...

part_id | Year
--------------
  1      1995
  1      1996
  2      1995
  2      1997
  3      1998

などなど...

そうすれば、次のようなものを使用して、一部が機能するすべての年を取得できます。

select *
from parts
join parts_years
    on (part_id = parts.id);
于 2012-09-11T03:39:05.710 に答える