sql >> Database >  >> RDS >> Mysql

recursieve functie om alle onderliggende categorieën te krijgen

Ik vond het moeilijk om je functie te achterhalen. Ik denk dat dit zal doen wat je wilt. Het krijgt alle kinderen van een categorie met ID $id, en ook hun kinderen (dus krijgt de hele subcategorie, het subsubcategorie-effect dat je wilde).

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

Deze functie retourneert:

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

Het retourneert in feite een array met de ID van het kind en een array met de ID's van zijn kinderen. Ik hoop dat dit van enige hulp is.



  1. virtualenv, mysql-python, pip:weet iemand hoe?

  2. Voer MySQLDump uit zonder tabellen te vergrendelen

  3. Een koude stand-by maken voor PostgreSQL met Amazon AWS

  4. Node Mysql kan geen query in de wachtrij plaatsen na het aanroepen van quit