递归函数在codeIgniter中不起作用

时间:2017-11-07 07:19:13

标签: php mysql function codeigniter recursion

我正在尝试使用递归函数获取具有相关父ID的所有类别。 如果我打印该数组它显示我所有数据,但如果我想要返回这不起作用。我确信我做错了。 我的递归函数代码是:

public function get_child($id,$level=0){
//$level=0;
    $this->db->select('*');
    $this->db->from('whole_category');
    $this->db->where('parent_id',$id);
    $this->db->order_by("id", "ASC");
    $query = $this->db->get();
    if ($query->num_rows() > 0) {
      $res= $query->result();
      echo $current_node_id=$res[0]->id;
      $level++; 
      $this->get_child($current_node_id,$level);
       $cat["level".$level][] =$res;
       return $cat;
    }else{
        return $cat;
    }



}

称之为:

public function getcategories(){

     echo "<pre>";
     $a=$this->get_child(1);

     var_dump($a);

}

1 个答案:

答案 0 :(得分:0)

我为多层次营销项目创建了一个递归函数 请试一试。

 public function getSubMembers($memberID, $tableName = 'member_master') {

        $data = arra[enter image description here][1]y();
        $strQuery = "select MEMBER_ID,LOGIN_NAME,FIRSTNAME,LASTNAME,SPONSOR,PARENT_ID,PAYMENT_STATUS from member_master where SPONSOR='" . $memberID . "' order by POSITION ";

        $result = mysqli_query($this->conn, $strQuery);
        if (mysqli_field_count($this->conn)) {
            while ($row = mysqli_fetch_assoc($result)) {
                $data[$row['LOGIN_NAME']] = $row;
                foreach ($data as $values) {
                    $data[$values['LOGIN_NAME']]['SUB'] = $this->getSubMembers($values['LOGIN_NAME']);
                }
            }
        }
        return $data;
    }