【发布时间】:2020-07-07 19:50:34
【问题描述】:
我有 3 张桌子
- 产品
- product_feature
- 功能
在第一个我有我的产品,第二个我有产品的 id 和功能的 id,第三个我有可以是不同颜色、尺寸、材料的功能......
我建立了一个过滤器菜单,颜色为蓝色、红色、白色、黑色......尺寸 XL L M S......当用户选择它时,脚本会发送一个显示产品的 AJAX 请求......表单输入是复选框类型...
问题是我每次用户选择某些东西时都会发送一个对象
例子
object = {
"color": [13215, 23154, 21658,...],
"size": [5123, 6574, 9875,...]
}
数组中填充了 id_features 当我 print_r file.php 上的数据时,它准确地向我展示了我想要的内容。
所以我的问题在于 SQL 查询,我有类似的东西
$features = implode("','", $ajaxArray['feature']); //ajaxArray is the object sent by JS
$query = "SELECT id_product FROM product_feature WHERE id_feature IN ('$features')";
因此,如果我在过滤器中选择例如“红色”和“XL”,它会向我显示每个具有“红色”功能或“XL”功能的产品,而我想要的只是具有“红色”和“ XL”的特点...如果一个产品有红色但没有XL,我不希望他们显示!!!
【问题讨论】:
-
为了更简单,我想检查 WHERE IN 但在这种情况下,该值必须匹配 ('$features') 字符串中的每个数据。