Mysql
 sql >> Baza danych >  >> RDS >> Mysql

funkcja rekurencyjna, aby uzyskać wszystkie kategorie potomne

Trudno mi było rozgryźć twoją funkcję. Myślę, że to zrobi, co chcesz. Pobiera wszystkie dzieci kategorii o identyfikatorze $id, a także ich dzieci (w ten sposób uzyskuje się całą podkategorię, efekt podkategorii, który chciałeś).

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

Ta funkcja zwróci:

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

Zasadniczo zwraca tablicę z identyfikatorem dziecka i tablicę zawierającą identyfikatory jego dzieci. Mam nadzieję, że to pomoże.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiedy używać MyISAM i InnoDB?

  2. RZUT DZIESIĘTNY do INT

  3. Jak połączyć dwa stoły w MySQL

  4. Zachowaj i wyświetlaj tekst dokładnie tak, jak jest wpisany i przesłany

  5. Railsy ActiveRecord obsługują kolumnę id, która nie jest kluczem podstawowym