親 = 0 の場合はカテゴリを意味します
親 = 1 の場合、カテゴリ 1 (id=1) に接続されたサブカテゴリ 1 を意味します
親 = 2 の場合、カテゴリ 2 (id=2) に接続されたサブカテゴリ 2 を意味します
親の場合...など 19 カテゴリまで (id=19 で親 = 0)
必要なのは、カテゴリ フィールドでのユーザーの選択に従って、サブカテゴリ フォーム フィールドにサブカテゴリの名前を表示することです。カテゴリ フィールドは正常に機能します。
id parent name active
1 0 Arts & Entertainment 0
2 0 Automotive 0
3 0 Business & Professional Serv. 1
4 0 Clothing & Accessories 0
5 0 Community & Government 0
6 0 Computers & Electronics 1
7 0 Construction & Contractors 0
8 0 Education 0
9 0 Food & Dining 0
10 0 Health & Medicine 0
11 0 Home & Garden 0
12 0 Industry & Agriculture 0
13 0 Legal & Financial 1
14 0 Media & Communications 0
15 0 Personal Care & Services 0
16 0 Real Estate 0
17 0 Shopping 0
18 0 Sports & Recreation 0
19 0 Travel & Transportation 0
34 1 Acting Schools 1
35 1 Aerial Photographers 1
36 1 Arcades & Amusements 1
37 1 Art Classes 1
38 1 Art Galleries & Dealers 1
39 1 Art Schools 1
1.これは正常に機能し、ユーザーの選択を提供するカテゴリ フィールドのクエリです ($judgePick)
$db->setQuery('SELECT name FROM #__professional_categ WHERE parent=0 AND active=1 ORDER BY name ASC');
2.これは、解決しようとしているサブカテゴリ フィールドのクエリです。
$judgePick = JRequest::getVar('category');
$db = JFactory::getDBO();
$db->setQuery('SELECT `name` FROM `#__professional_categ` WHERE active = 1 AND (something here...) ORDER BY parent ASC, name ASC);
$result = $db->loadColumn();
if(!$result){
echo "error";
} else {
echo json_encode($result);
}
仮定 1 - 含める ID ='.$db->quote($judgePick)
仮定 2 - 親の場合 > 0 は、仮定 1 でユーザーが選択した ID と等しくなければなりません
期待される結果
ユーザーの選択 ID が親と等しいカテゴリ フィールド ($judgePick) でのユーザーの選択に従ってのみ名前を持つサブカテゴリ フィールド。つまり、たとえば、Arts & Entertainment はカテゴリ (parent=0) で (id =1) を持ち、ユーザーがカテゴリ フォーム フィールドでそれを選択すると、サブカテゴリ フォーム フィールドには (parent=1) を持つすべての名前が表示されます。