2012-05-07 17 views
5

kullanıcıları tabloKont Çok katlı pazarlama (ağaç) kaydı

enter image description here

her kullanıcı kayıt PARENT_ID altında parent_id, koymak zorunda Kayıt sürede

, bu yüzden bunun

için farklı masasına

sponsoru tablo

enter image description here

o böyle ağaç yaptıktan sonra

enter image description here

ve ben böyle bir kayıt saymak veya i bu tür demek herhangi bir yolu yoktur nasıl bu kadar plz bana yol olduğunu

enter image description here

gibi rekor saymak istiyor Veritabanında değişiklik yapmak zorunda olduğum için, sayım

+0

Ağaç yapısının çıkışını yukarıdaki [resimdeki] gibi nasıl yaptınız (http: //i.stack.imgur.c) om/p4XdG.gif) ?? –

cevap

6

i tabloda bitişiklik modeli yapıya sahip, bu yüzden var çok güzel bir çözüm sayımı user_id PARENT_ID altında PARENT_ID altında user_id saymak işlev

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 
} 

çağrı işlevi

display_children(999, 0) 
+0

Kod yazıcısında nasıl yapabilirim? –

İlgili konular