Mysql
 sql >> база данни >  >> RDS >> Mysql

рекурсивна функция, за да получите всички дъщерни категории

Трудно ми беше да се опитам да разбера вашата функция. Мисля, че това ще направи това, което искате. Той получава всички деца на категория с идентификатор $id, както и техните деца (по този начин се получава цялата подкатегория, ефектът на подкатегория, който желаете).

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

Тази функция ще върне:

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

По принцип връща масив с идентификатора на детето и масив, съдържащ идентификаторите на неговите деца. Надявам се това да е от полза.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да изчистя екранната конзола на mysql в windows?

  2. Как да използвам MySQL DECIMAL?

  3. MySql:задайте променлива със списък

  4. Изберете динамични колони в mysql

  5. Как да преброите всички редове, когато използвате SELECT с LIMIT в MySQL заявка?