2015-05-14 75 views
3

我有一個表ft_individual它存儲有關屬性Id,User_name,活動(表示用戶是否活動),位置(L左,R右) ,和Father_id .... 我想獲得一個特定用戶的左側位置的孩子的數量,然後是在用戶的左側位置的孩子的數量。二叉樹中的遞歸函數調用

我做了一個遞歸函數調用,但它不工作。 我使用PHP框架CodeIgniter的工作......幫助

$l_count=$this->tree_model->childCount($user_i,'L'); 

$r_count=$this->tree_model->childCount($user_i,'R'); 

內部模型。

public function childCount($user_id='',$position='') 
    {  
      $this->db->select('id'); 
      $this->db->from('ft_individual'); 
      $this->db->where('father_id',$user_id); 
      $this->db->where('position',$position); 
      $this->db->where('active','yes'); 
      $result=$this->db->get(); 
      foreach ($result->result() as $row) 
      { 
       $id= $row->id; 
      } 
      if($id!='') 
      { 
       return (1+childCount($id,'L')+childCount($id,'R')); 
      } 
      else 
      { 
       return 1; 
      } 
    } 
+1

發表你的表結構預期的結果 –

+0

請檢查該遞歸函數的正確或不.. ...... –

+0

你在搜索結果中得到的結果發佈了你的結果 –

回答

2

你應該調用函數childCount作爲一類的方法,只是價值,同時增加$this->

return (1 + $this->childCount($id,'L') + $this->childCount($id,'R'));