我在做產品過濾器點是用戶選擇產品越具體,應該出現的結果越少。在此刻,我寫了多個查詢並存儲在數組中並檢查數組相交,但結果相反,這意味着當用戶應用更多的過濾器時,我將顯示更多的產品。Mysql SELECT其中2列匹配值的集合
所以我想可能有一個SQL命令,我不知道!
簡單的例子:
------------
table "filter"
------------
product
Spec
value
------------
Sample data
------------
book1,page,200
book1,cover,leather
book1,language,en
book2,page,300
book2,cover,paper
book2,language,de
book3,page,150
book3,cover,hard
book3,language,en
SELECT `product` FROM `filter` where ...
我該如何選擇(頁= 200和語言特點= EN)?
顯示您嘗試過的代碼。 – Olexa 2013-05-11 04:36:45
所以你使用你喜歡的SQL數據庫作爲一個簡單的鍵:價值存儲? – 2013-05-11 04:38:11
foreach($ a as $ k => $ v){sql1 =「SELECT * FROM'spec_product' WHERE'spec_pin' ='$ k'AND LOWER('value')= LOWER('$ v')」 ; $ res2 = mysqli_query($ mysqli,$ sql2); ($ newArray2 = mysqli_fetch_array($ res2,MYSQLI_ASSOC)){ $ product_pin = $ newArray2 [「product_pin」];如果($ res2){ while($ newArray2 = mysqli_fetch_array($ res2,MYSQLI_ASSOC)){ ($ in_array($ product_pin,$ sp)){ array_push($ sp,$ product_pin); } } } } $ r = array_intersect($ sp,$ p); – AK4668 2013-05-11 04:38:28