Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

fungsi rekursif untuk mendapatkan semua kategori anak

Saya kesulitan mencari tahu fungsi Anda. Saya pikir ini akan melakukan apa yang Anda inginkan. Itu mendapatkan semua anak-anak dari suatu kategori dengan ID $id, dan juga anak-anak mereka (sehingga mendapatkan seluruh sub kategori, efek sub sub kategori yang Anda inginkan).

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;
}

Fungsi ini akan mengembalikan:

$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
);

Ini pada dasarnya mengembalikan array dengan ID anak dan array yang berisi ID anak-anaknya. Saya harap ini bisa membantu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Warisan Kelas dengan .NET EF4.1 + MySQL

  2. Mysql - BATAS berdasarkan Persentase?

  3. Bagaimana Anda mendapatkan pencarian boolean Fulltext Anda untuk mengambil istilah C++?

  4. Kesalahan Pernyataan Disiapkan Java MYSQL:Periksa sintaks untuk digunakan di dekat '?' di baris 1

  5. Memperbarui tabel di pemicu setelah memperbarui di tabel yang sama