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

php wyświetla wielopoziomowe menu treenode

Dzieje się tak, ponieważ nadal masz kategorie w tablicy, gdy już je przypisałeś. To, co możesz zrobić, to wykonać funkcję, w której przekazujesz argument jako odwołanie, oraz pętlę in foreach, aby mieć możliwość wyczyszczenia tablicy z już przypisanej kategorii. Poniżej prosta implementacja.

Funkcja
function getChildren(&$rows, $p = 0) {
    $r = array();
    foreach($rows as $row_id => $row) {
        if ($row['parent_node']==$p) {
            $r[$row['product_category_code']] = getChildren($rows, $row['product_category_code']);
            unset($rows[$row_id]);
        }
    }
    return $r;
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Schemat XSD do MySQL

  2. Pomoc z zapytaniem MySql — wiersze zawierające maksimum grupowe określonej kolumny

  3. Wyliczenie MySQL a zestaw

  4. Jak mogę wywołać funkcję mysql (jak mysql_insert_id) z Perla, jeśli używam DBI/DBD?

  5. Pokaż tabele w bazie danych SQLite w Pythonie