php - 可以使用 PHP/MySQL 在多个类别中列出相同的项目吗?

标签 php mysql database

我有一个网站,其中列出了各种类别和子类别的产品 - 相当标准的东西。但是,我现在需要在多个类别中列出相同的产品 - 我该怎么做?

我正在使用代码:

"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/

相关文章:

php - codeigniter 页面不工作,错误 500

database - 使用\copy - psql 将表中的数据导出到 CSV 文件

mysql - 是否可以在没有备份的情况下从cpanel恢复数据库?

大型网站的php&mysql分页脚本

MySQL 查询 - 今天和过去 30 天之间的记录

php - iPhone 应用程序用户标识符

php - Node JS 读入缓冲数据

php - 多个 MySQL 查询在本地计算机上运行,​​但在远程计算机上运行不正常

php - Laravel 5.4 - 在同一数据库中将数据从一个表复制到另一个表

php - JQuery POST 只向 mysql 添加一次记录