我有一个网站,其中列出了各种类别和子类别的产品 - 相当标准的东西。但是,我现在需要在多个类别中列出相同的产品 - 我该怎么做?
我正在使用代码:
"SELECT * FROM ProductTable WHERE Category = 1"
我可以通过在类别表中输入多个数字(即“1 2 3”
)并使用以下代码来使其工作:
"SELECT * FROM ProductTable WHERE Category LIKE 1"
但这也会返回类别 10 和 11 中的产品(我有 20 个类别)。
我可能从错误的角度来处理这个问题,但是有没有办法让代码工作?
最佳答案
由于类别和产品之间不再具有一对多关系,因此您将需要一个新表来提供所需的多对多关系。像这样的东西:
product_categories
------------------
category_id INT
product_id INT
主键:(category_id、product_id)
这将允许产品以标准化方式属于多个类别,而不是将类别字段视为 ID 列表。
关于php - 可以使用 PHP/MySQL 在多个类别中列出相同的项目吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48261944/