Reputation: 83
i have a table ft_individual which store information about a binary tree it comprises of attributes Id,User_name,Active(to represent user is active or not ),Position(L for left, R for right),and Father_id.... i want to get the number of child’s in left position of a particular user then the number of child’s in left position of a user.
i made a recursive function call but it is not working. I am using PHP codeigniter frame work......Help
$l_count=$this->tree_model->childCount($user_i,'L');
$r_count=$this->tree_model->childCount($user_i,'R');
inside model.
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;
}
}
Upvotes: 3
Views: 211
Reputation: 457
You should call the function childCount
as method of a class, just add $this->
return (1 + $this->childCount($id,'L') + $this->childCount($id,'R'));
Upvotes: 2