Php 在MySQL中存储零件数据库的最佳方式

Php 在MySQL中存储零件数据库的最佳方式,php,mysql,Php,Mysql,我把汽车零件储存在数据库里。显然,某些零件只能安装在特定车辆的特定年份 在将这些部分输入MySQL时,我让用户只使用这种格式来表示日期,“41、42、43、45、46”等。。然后我就在PHP中爆炸。这很有效,因为我需要做什么 现在我需要根据零件的可用年限来提取零件。如果可以的话,我不想在表单中使用多个选择框 有什么想法吗?如果你想单独访问,千万不要在一个字段中存储多个信息。从来没有。 您将需要修改DB,以便在车型年款和零件之间有一个联接表,而不是将所有车型年款塞进零件表的单个字段中 一些棘手的文

我把汽车零件储存在数据库里。显然,某些零件只能安装在特定车辆的特定年份

在将这些部分输入MySQL时,我让用户只使用这种格式来表示日期,“41、42、43、45、46”等。。然后我就在PHP中爆炸。这很有效,因为我需要做什么

现在我需要根据零件的可用年限来提取零件。如果可以的话,我不想在表单中使用多个选择框


有什么想法吗?

如果你想单独访问,千万不要在一个字段中存储多个信息。从来没有。

您将需要修改DB,以便在车型年款和零件之间有一个联接表,而不是将所有车型年款塞进零件表的单个字段中

一些棘手的文本选择会起到一定的作用,但它肯定会扼杀您的性能。如果这是一个完整的零件目录,即使是一个单一的模型,它将杀死您的性能到无法使用的地步


抱歉:诚实比礼貌好,如果你真的不能两者兼得。

你有一个多对多的关系…所以创建另一个表

例如

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

然后你就可以得到一个零件所有的工作时间

select *
from parts
join parts_years
    on (part_id = parts.id);

举个例子会有很大帮助。你的问题是如何将其存储在数据库中,还是如何在网站上显示?问题是如何存储它。我想我找到了下面的答案。这更像是一个逻辑问题,而不是一个“编程”问题。我来这里是为了得到诚实的答案,所以谢谢你们。我昨天本来打算回来的,但却被一些事情缠住了。实际上,我担心性能问题,为每一行创建一个循环似乎是极端的。我喜欢下面的例子,我可能会尝试类似的东西。@Dan下面的例子正是我的意思:我的“jointable”正是Stephen所建议的——一个将各部分与年份连接起来的表格。这不是在循环中解决的问题,而是在连接中解决的问题(因此名为jointable)。我明白:)你在解释逻辑,他在展示一些基本语法。我理解所有的语法,是逻辑让我困惑。虽然这是基本的东西,但我想已经晚了。谢谢你们两位:)我今天要试试这个,因为某种原因,我的大脑无法想出正确的方法。谢谢你的帮助!