我试图为我的产品列表构建一个过滤算法。
例如,我有 2 台电视。
第一个是:屏幕尺寸117厘米,品牌三星。第二个是:屏幕尺寸203CM,品牌夏普。
我有以下过滤器:
品牌:三星、夏普
屏幕尺寸:117 厘米、203 厘米
如果我只想看到三星电视并检查三星过滤器,我怎么能得出结论,我应该从过滤器中删除屏幕尺寸 203,因为三星只有 117 厘米的电视。
但是,如果我同时检查夏普电视和三星,那么我应该看到两个屏幕尺寸过滤器。
我正在寻求一些 php/mysql 算法的想法。
我希望你明白我在问什么。
该网站在用户检查任何过滤器之前知道它有多少产品:例如:“40” - 49“(326)) - >他们知道在用户检查该过滤器之前他们有326种产品。
简而言之:如果该组合不适用于产品,则应禁用您在过滤器中选中的复选框。
我有 3 个表: products(id_product,name), filters(id_filter,name,id_category), filters_values(id,id_product,id_filter,value)
在我的 product_list 页面中,它应该只显示过滤器,一旦被检查,它们就会返回产品。
我的第一个想法是从每个过滤器值组合中生成 sql。例如 10 个具有 4 个值的过滤器:40 sql,只是为了检查过滤器是否返回产品,但这对 db 来说压力很大
例如,如果我有一个具有 4 个值的过滤器,我应该进行 4 个查询,以查看我是否有特定值的产品。
我有 10 个过滤器,每个过滤器有 4 个值,我应该做 40 个 sql 查询。这是很多。我怎样才能更快地做到这一点?
谢谢