1

親 = 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) を持つすべての名前が表示されます。

4

2 に答える 2