我在我的网页上使用双层链式选择框来过滤数据...我的第二个选择值的查询有问题......
表:
id name cat loc
1 ABC resort mall road
2 BCD banquet hall mall road
3 CDE farm house, banquet hall pakhowal road
4 DEF hotel ferozpur road
5 FEZ hotel fountain chowk
6 ZEX resort mall road
我有两个选择框,其中第一个用于DISTINCT cat值...这对我来说非常有用......
我正在使用的查询是:
select distinct cat from
(select trim(substring_index(substring_index (concat(cat,',,'),',',n),',',-1))
as cat from table t
cross join (select 1 as n union all select 2 union all select 3) r) t
where cat <> '' ORDER BY cat ASC
输出:
cat
banquet hall
farm house
hotel
resort
现在我想做一个查询,选择我们在第一个框中选择的具有相同cat值的所有区域,就像我选择&#34; resort&#34;从第一次选择它选择&#34; mall road&#34;第二个盒子......如果我选择&#34;宴会厅&#34;然后它应该选择&#34; mall road&#34;和&#34; pakhowal road&#34;等等。
我也使用了一个查询,但它对我不起作用......
第二个选择框查询:
SELECT DISTINCT loc
from table
WHERE cat = '$_POST[cat]' AND loc IS NOT NULL
它为&#34; resort&#34;提供了正确的输出。和&#34;酒店&#34;只有猫....如果我选择&#34;农庄&#34;或&#34;宴会厅&#34;它没有取得&#34; pakhowal road&#34; ...
如何更改查询以实现此目的??
答案 0 :(得分:2)
试试这个:
SELECT DISTINCT loc
FROM [YourTable]
WHERE INSTR(CONCAT(', ',cat,' ,'),CONCAT(', ','$_POST[cat]',' ,'))>0 AND loc IS NOT NULL