在table_product中添加产品时,我有一列名称为"类别"。在某些时候,我可以为任何产品设置多个类别,这就是为什么我以serialize
格式存储所有类别列表的原因。
如何从特定类别中获取product_name
、product_image
和product_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"';
我正在空置。因为,我product table
中的category
列如下:-
a:3:{i:0;s:5:"Apple";i:1;s:6:"Iphone";i:2;s:9:"Iphone 5S";}
任何解决方案都可以解决我的问题。
请原谅我的英语不好。
不要将类别存储为序列化数据,而是使用关系表:
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中建立多对多关系。