Tôi đã có một thời gian khó khăn để cố gắng tìm ra chức năng của bạn. Tôi nghĩ rằng điều này sẽ làm những gì bạn muốn. Nó nhận tất cả các phần tử con của một danh mục có ID $ id và cả các phần tử con của chúng (do đó nhận được toàn bộ danh mục phụ, hiệu ứng danh mục phụ mà bạn muốn).
function categoryChild($id) {
$s = "SELECT ID FROM PLD_CATEGORY WHERE PARENT_ID = $id";
$r = mysql_query($s);
$children = array();
if(mysql_num_rows($r) > 0) {
# It has children, let's get them.
while($row = mysql_fetch_array($r)) {
# Add the child to the list of children, and get its subchildren
$children[$row['ID']] = categoryChild($row['ID']);
}
}
return $children;
}
Hàm này sẽ trả về:
$var = array(
'categoryChild ID' => array(
'subcategoryChild ID' => array(
'subcategoryChild child 1' => array(),
'subcategoryChild child 2' => array()
)
),
'anotherCategoryChild ID' => array() # This child has no children of its own
);
Về cơ bản, nó trả về một mảng có ID của con và một mảng chứa ID của các con của nó. Tôi hy vọng điều này có ích.