2012-05-07 18 views
5

użytkownicy tabelaHrabia w php mysql

enter image description here

W momencie rejestracji każdy użytkownik umieścić parent_id, którzy rejestracji zgodnie parent_id, więc zrobiłem inny stolik dla niego

stół SPONSER

enter image description here

po które sprawiają, że drzewo takiego

enter image description here

i chcę rekord liczyć jak ten

enter image description here

więc plz przypomnienie mi jak mogę liczyć rekord tak czy istnieje jakiś sposób mogę powiedzieć, dla tego rodzaju licząc muszę zmienić w bazie danych, z góry dzięki

+0

w jaki sposób wygenerowałeś strukturę drzewa tak jak [obrazek powyżej] (http: //i.stack.imgur.c om/p4XdG.gif)? –

Odpowiedz

6

mam adjacency wzorcowy układ w tabeli, więc mam bardzo miłe rozwiązanie Ilość user_id pod parent_id

że działają liczyć user_id pod parent_id

function display_children($parent, $level) { 
    $count = 0; 
    $result = mysql_query('SELECT user_id FROM sponsers '.'WHERE parent_id="'.$parent.'"'); 
    while ($row = mysql_fetch_array($result)) 
    { 
      $var = str_repeat(' ',$level).$row['user_id']."\n"; 

        //echo $var after remove comment check tree 

        // i call function in while loop until count all user_id 

      $count += 1 +$this->display_children($row['user_id'], $level+1); 

    } 
    return $count; // it will return all user_id count under parent_id 
} 

funkcja połączenia

display_children(999, 0) 
+0

możesz mi pomóc, jak mogę zrobić w codeigniter –