0

在 table_product 中添加产品时,我有一列名为“类别”。在某些时候,我可以为任何产品拥有多个类别,这就是我以serialize格式存储所有类别列表的原因。

我怎样才能 fetch product_nameproduct_imageproduct_id从特定类别?

比如说,我有这个 URL http://www.example.com/category.php?cid=29,所以我想显示该特定类别的所有产品。因此我在下面的命令中运行php-mysql

"Select product_id, product_name, product_image from product where category='Select name from category where cid="29"';

我越来越空了。因为,category我的专栏product table如下:-

a:3:{i:0;s:5:"Apple";i:1;s:6:"Iphone";i:2;s:9:"Iphone 5S";}

任何解决方案都可以解决我的问题。

请原谅我的英语不好。

4

1 回答 1

2

不要将类别存储为序列化数据,而是使用关系表:

create table product_category (
    product_id int,
    category_id int);

然后要查找特定类别中的产品,您可以使用连接:

select p.*
from product p
join product_category pc on p.product_id = pc.product_id
where pc.category_id = 29;

这就是您应该如何在 RDBMS 中建立多对多关系。

于 2013-10-01T02:57:14.820 回答