2016-09-29 1 views
0

Hallo im allen Childs und Unter Childs eines Datensatz in db so weit ich habe diesenrekursive Mysql Abfrage Joomla Datenbankobjekt mit

function fetchNetChildren($parent, $network) { 
    $db = JFactory::getDBO(); 
    $db->setQuery('SELECT id FROM #__sometable_clients WHERE network_referal = '.$parent.' AND networks = '.$network.' AND `status` > 0'); 
    $list = array(); 
    while (true){ 
     $row = $db->loadAssocList(); 
     $list[] = $row['id']; 
     $list = array_merge($list, fetchNetChildren($row['id'], $network)); 
    } 
    return $list; 
} 

fectch versuchen, wenn ich diese ive einen 500 eror bekam laufen und habe keine Ahnung warum, irgendwelche Tipps?

Antwort

0

Ich habe dies mit einem anderen Ansatz erreicht, ich habe die ursprüngliche Funktion verworfen und zwei andere erstellt, die zurückgeben, was ich will.

1 - Ich habe eine MySQL-Abfrage erstellt, die in einem mehrdimensionalen Array aller Kinder, Enkel usw. der angegebenen ID zurückgibt.

function getChilds($parentid, $network) { 
    // query linda e maravilhosa 
    $query = ' 
    select @pv:=id as id, network_referal from #__mytable 
    join 
    (select @pv:='.$parentid.')tmp 
    where [email protected] and networks = '.$network.' '; 
    $campos = carregarcampos($query,'list'); 
    return $campos; 
} 

2 - mit den Daten $ Elemente jetzt kann ich die zur Verfügung gestellten Daten

function buildTree(array $elements, $parentId = 0) { 
    $branch = array(); 

    foreach ($elements as $element) { 
     if ($element['parent_id'] == $parentId) { 
      $children = buildTree($elements, $element['id']); 
      if ($children) { 
       $element['children'] = $children; 
      } 
      $branch[] = $element; 
     } 
    } 

    return $branch; 
} 

so zu organisieren ein PHP multidimentional Array manipulieren und erstellen verwenden i laufen muss

buildTree(getChilds($parentid, $network), $parentid)