Çok boyutlu dizi PHP SQL sonuç

1 Cevap php

Ben işlevi "bağlamak" kullanarak bir Oracle veritabanı bazı hiyerarşik veri almak ediyorum.

Sonra benim sorgu gibi bakma sonucu ile bir PHP dizi doldurmak:

while ($row_branches = oci_fetch_array($query_tree)) {
   $tree[] = array(
     'id' => $row_branches['ID']
   , 'parent' => $row_branche['PARENT']
   , 'data' => htmlspecialchars($row_branches['NAME'])
   , 'level' => $row_branches['LEVEL']
   );
}

The field ID is the unique id of the row The field PARENT is the ID of the parent The field DATA is the name of the item The field LEVEL is the level of the row in the hierarchy.

Amacım PHP işlevi json_decode () kullanmaktır çünkü oldukça çok boyutlu bir dizi olurdu.

Hiyerarşisinin derinliği önceden bilinir asla.

Yani benim soru:

Nasıl benim sorgu sonucu ile çok boyutlu bir dizi doldurmak olabilir?

Teşekkürler cevaplar için şimdiden bir milyon.

1 Cevap

Bu deneyin

function adj_tree(&$tree, $item) {
    $i = $item['ID'];
    $p = $item['PARENT'];
    $tree[$i] = isset($tree[$i]) ? $item + $tree[$i] : $item;
    $tree[$p]['_children'][] = &$tree[$i];
}

$tree = array();
while ($row = oci_fetch_array($query_tree)) {
   adj_tree($tree, $row);