Древовидная структура MLM в codeigniter

#php #mysql #codeigniter-3

#php #mysql #codeigniter-3

Вопрос:

У меня есть таблица с именем tbl_user

Я использую codeigniter и mysql.

введите описание изображения здесь

Мне нужно получить список приглашенных пользователей, используя мой код.

Пример: если я отправлю свой код как 1235, то я должен получить пользователей C, D

Примечание: я не знаю максимального уровня, на который это может перейти.

 $result = $this->db->select('user_key,user_id,user_name')->from('tbl_user')->where(array('inviter_code'=>$code))->get()->result();
        $employee = array();
        foreach($result as $data){
            $emp = array();
            $emp['user_key']=$data->user_key;
            $emp['user_name']=$data->user_name;
            array_push($employee,$emp);
        }
        return $employee;
  

У меня была функция

 getusers($code);
  

которая вернет мне список пользователей.

Заранее благодарю вас

Комментарии:

1. if send my code as 1235 then I should get users C,D можете ли вы объяснить логику

2. Потому что пользователь C приглашен кодом 1235, а пользователь D приглашен пользователем C.

3. каким будет результат для 1234

4. результатом 1234 будут B, C и D. Поскольку B приглашен A, C приглашен B, а D приглашен C.

Ответ №1:

Самый простой способ реализовать эту концепцию MLM — это сохранить родительский идентификатор у этих новых пользователей

на мой вопрос это будет структура tbl_user.

переопределенная таблица

Теперь мы можем просто получить количество пользователей, выполнив FIND_IN_SET в mysql

Это сэкономит много кодировок и объем памяти

Спасибо