我有一个表ft_individual,它存储有关二进制树的信息,它包含属性Id,User_name,Active(表示用户是否有效),Position(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; } }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; } }最满意答案
你应该调用函数childCount作为类的方法,只需添加$this->
return (1 + $this->childCount($id,'L') + $this->childCount($id,'R'));You should call the function childCount as method of a class, just add $this->
return (1 + $this->childCount($id,'L') + $this->childCount($id,'R'));更多推荐
发布评论