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 (принцип "первым пришел - первым обслужен"), чтобы использовать идентификатор человека, чью страницу вы видели первым.