Web ページで 2 層チェーン選択ボックスを使用してデータをフィルタリングしています...2 番目の選択値のクエリに問題があります...
テーブル:
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
最初の 1 つは DISTINCT cat 値用の 2 つの選択ボックスがあります...これは私にとって完璧に機能しています...
私が使用しているクエリは次のとおりです。
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
ここで、最初のボックスで選択したのと同じ猫の値を持つすべてのエリアを選択するクエリを作成したいと思います宴会場」の場合、「モールロード」や「パクホワールロード」などを選択する必要があります。
これにもクエリを使用しましたが、適切に機能していません...
2 番目の選択ボックス クエリ:
SELECT DISTINCT loc
from table
WHERE cat = '$_POST[cat]' AND loc IS NOT NULL
「リゾート」と「ホテル」の猫だけに正しい出力が得られます....「ファームハウス」または「バンケットホール」を選択した場合、「パクホワルロード」は取得されません...
これを達成するためにクエリを変更するにはどうすればよいですか...