Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mendapatkan Data Traversal Pohon Preorder yang Dimodifikasi ke dalam Array

Cobalah kode ini. $results adalah hasil database. $tree adalah larik yang Anda dapatkan kembali.

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. CakePHP 3 - Parse Date dengan LocalStringFormat untuk mengoreksi format SQL dan validasi yang benar

  2. MySQL pilih nama kolom dan nilai sebagai bidang

  3. lewati penyalinan ke tabel tmp di disk mysql

  4. Struktur Folder untuk menyimpan jutaan gambar?

  5. Bagaimana saya bisa melihat/mengubah pengaturan batas waktu koneksi MySQL?