Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

hàm đệ quy để lấy tất cả các danh mục con

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để đặt lược đồ mặc định cho người dùng trong MySQL

  2. Công cụ để nhập tệp CSV vào cơ sở dữ liệu MySQL?

  3. Làm cách nào tôi có thể chọn các hàng trong MySQL bắt đầu từ một số hàng nhất định?

  4. PHP / MySQL:Lưu trữ và truy xuất UUIDS

  5. B-Tree vs Bash Table