0

我有一个产品表,我在该表下创建了字段名称:product_attributes在该表下我将所有产品属性存储在 json 数据中,如下所示:

{"color":["Red","Green","yellow"],"size":["XL","M","XXL","L"],"Brand":["Nike","Fila","Addidus","Lotto"],"Gender":["Male","Female"]}

每个产品都有自己的属性,格式与上面给出的相同。有些产品具有相同的属性,有些则不同,例如:

{"color":["Green","Blue"],"size":["XXL","L"],"Brand":["Nike"],"Gender":["Male","Female"]}

现在我想根据上面提到的数据搜索产品:用户可以选择根据属性搜索产品,就像我们在电子商务网站上所做的那样

例子 :

--颜色:(红色绿色)AND 尺寸=(XXL XL) AND 性别=(男)

--尺寸:(XL) 颜色:(黄色) 品牌:(耐克乐透)

所以基于上面的例子,用户可以根据他的要求搜索任何东西,所以我需要一个 MySQL 查询,如果在任何产品下找到,它会根据选定的属性返回数据

请查看产品表结构:

CREATE TABLE `products` ( `id` int(11) NOT NULL,`product` varchar(255) NOT NULL,`product_attributes` longtext NOT NULL,`price` int(11) NOT NULL)ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- 为表转储数据products

INSERT INTO `products` (`id`, `product`, `product_attributes`, `price`) VALUES(1, 'product 1', '{\"Color\":[\"White\",\"Red\"],\"Size\":[\"Large\",\"XL\"],\"Brand\":[\"Nike\",\"Lotto\"],\"Gender\":[\"Female\",\"Male\"]}', 12),(2, 'product 2', '{\"Color\":[\"White\"],\"Size\":[\"XL\"],\"Brand\":[\"Fila\"],\"Gender\":[\"Female\"]}', 21),(3, 'Product 3', '{\"Color\":[\"White\",\"Red\",\"Black\"],\"Size\":[\"Large\",\"XL\"],\"Brand\":[\"Fila\",\"Addidus\"],\"Gender\":[\"Female\"]}', 15),(4, 'Product 4', '{\"Color\":[\"White\",\"Red\"],\"Size\":[\"Large\"],\"Brand\":[\"Fila\"],\"Gender\":[\"Male\"]}', 18);

提前致谢。

4

0 回答 0