Php Sql表排列

Php Sql表排列,php,mysql,Php,Mysql,我必须将一个产品发布到mySql,其中每个产品都无法预测它有多少颜色;有些产品可能只有一种颜色或10种颜色 出于这个原因,在这一刻,我只是创建了一个20种不同颜色的表,所有这些表都指向名为product的主表 我的问题是: 首先,如何将“产品表”链接到所有颜色的“表” 第二,如何同时向“产品表”和“颜色表”发送帖子。我的意思是,当我在“产品表”中发布一个产品的标题、描述和价格时,我还可以在每个表中发布一些不同的颜色图像 我使用PHP表单来实现这一点。因为我是Mysql和PHP的新手,到目前为止

我必须将一个产品发布到mySql,其中每个产品都无法预测它有多少颜色;有些产品可能只有一种颜色或10种颜色

出于这个原因,在这一刻,我只是创建了一个20种不同颜色的表,所有这些表都指向名为product的主表

我的问题是:

首先,如何将“产品表”链接到所有颜色的“表”

第二,如何同时向“产品表”和“颜色表”发送帖子。我的意思是,当我在“产品表”中发布一个产品的标题、描述和价格时,我还可以在每个表中发布一些不同的颜色图像

我使用PHP表单来实现这一点。因为我是Mysql和PHP的新手,到目前为止,我只能将一些内容发布到一个表中

我希望任何人都明白我在上面问题中的意思

我也在寻找一个不同的方法,如果有人有一个聪明的方法来做到这一点

多谢各位

不,不,不,不,不! 在运行的系统中,表的设计不应改变。至少不多。不要总是生成表

更好的桌子设计是使用两张桌子的颜色

colors table
------------
id
name


product_colors table
--------------------
product_id
color_id
示例数据如下:

products
id  title   description  ...
1   prod1   bla bla


colors
id   name
1    green
2    blue


product_colors
product_id  color_id
1           1
1           2
然后,要获得产品
prod1
的颜色,您可以执行以下操作

select c.name
from colors c
join product_colors pc on pc.color_id = c.id
join products p on pc.product_id = p.id
where p.title = 'prod1'

这种设计是灵活的-你可以为一个产品选择任意多的颜色,而且查询速度非常快。

我忘了告诉你产品的每种颜色是否有四个主图像和四个thumnail图像(这将是幻灯片)。例如,当您单击红色时,幻灯片将更改为带有四个主图像和四个图钉图像的彩色红色的prodcut。我真的很困惑。然后使用另一个名为
color\u images
的表。它包含列
color\u id
image
。你可以添加颜色的图像。是的,我从上面的答案中得到了这个想法。我只需要在颜色表中为主图像和图姆尼尔图像创建一些冒号。非常感谢你。你很聪明。:)