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

Uzyskiwanie zmodyfikowanych danych przechodzenia z drzewa zamówień w przedsprzedaży do tablicy

Daj temu kodowi szansę. $results to wyniki z bazy danych. $drzewo to tablica, którą otrzymujesz.

function create_tree ($results) {

    $return = $results[0];
    array_shift($results);

    if ($return['lft'] + 1 == $return['rgt'])
        $return['leaf'] = true;
    else {
        foreach ($results as $key => $result) {
            if ($result['lft'] > $return['rgt']) //not a child
                break;
            if ($rgt > $result['lft']) //not a top-level child
                continue;
            $return['children'][] = create_tree(array_values($results));
            foreach ($results as $child_key => $child) {
                if ($child['rgt'] < $result['rgt'])
                    unset($results[$child_key]);
            }
            $rgt = $result['rgt'];
            unset($results[$key]);
        }
    }

    unset($return['lft'],$return['rgt']);
    return $return;

}
$tree = create_tree($results);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pobierz wszystkie działania ostatnich trzech użytkowników

  2. Różnica między dwiema strukturami tabel

  3. Jak odinstalować MySQL z Mac OS X?

  4. Optymalizacja wywołania funkcji przechowywanej w klauzulach SELECT i WHERE

  5. skrócone zapytanie PDO