Codeigniter UniLevel MLM Регистрация Уровня

Я работаю над своим многоуровневым веб-приложением UniLevel, используя Codeigniter Framerwork.

Я могу успешно добавить / зарегистрировать нового пользователя с реферальным идентификатором / именем пользователя.

Но моя проблема в том, что я хочу, чтобы новый участник, которого я направил, стал моим уровнем 1..

мне

Новый участник, которого я направил (становится моим уровнем 1) И если этот участник (мой уровень 1) пригласит другого участника... новый привлеченный участник станет моим уровнем 2.

Так что это. от уровня 0(я) до уровня 1(участник, которого я пригласил) до уровня 2(участник, которого указал уровень 1).

Я надеюсь, что вы, ребята, понимаете мое объяснение..

1 ответ

Я использую столбец таблицы refer_by_id для хранения родительского элемента нового члена. Этот refer_by_id содержит user_id родителя.

CREATE TABLE `user` (
  `user_id` int(11) UNSIGNED NOT NULL,
  `referred_by_id` int(11) UNSIGNED NOT NULL DEFAULT '0'
etc...

Когда Курт регистрируется под администратором, он становится рефералом 1 уровня для администратора. Когда Фрэнк регистрируется под Куртом, он становится уровнем 1 для Курта и уровнем 2 для администратора. Повторите до тошноты. Вы сами решаете, что вы хотите показать пользователям: сколько уровней глубоко.

Для подсчета рефералов (это просто пример, чтобы вы начали):

$this->db->select('u.user_id,
        (select count(user_id) from '. DB_PREFIX .'user where referred_by_id = u.user_id) as total_referred');
$this->db->from(DB_PREFIX .'user u');
$this->db->where('u.referred_by_id', $this->session->userdata('user_id'));

addendum: во время регистрации вы можете отслеживать переменную сеанса с родительским user_id, взятым из сегментов URL. Вы также можете сохранить его в файле cookie (принцип "первым пришел - первым обслужен"), чтобы использовать идентификатор человека, чью страницу вы видели первым.

Другие вопросы по тегам