在table_product中添加产品时,我有一个名为“category”的列。在某些时候,我可以为任何产品提供多个类别,这就是我以serialize
格式存储所有类别列表的原因。
如何从特定类别中提取product_name
,product_image
和product_id
?
说,我有这个网址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";}
任何解决方案都可以解决我的问题。
请原谅我的英语不好。
答案 0 :(得分:1)
不要将类别存储为序列化数据,而是使用关系表:
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中建立多对多关系。