Доброго времени суток!
Помогите пожалуйста решить задачку. На словах вроде все понятно и просто, но на деле возникает много сложностей.
Есть обычная регистрация на сайте с рефиральной системой т.е. человек может по своейреферальной ссылке пригласить другого человека. В базе создал таблицу в которую должны записаться id зарегистрированного человека. Но вот порядок записи id не совсем простой. Прикрепил скрин таблицы (для более понятного понимания)
[img]https://preview[dot]ibb[dot]co/i3WgnS/1[dot]jpg[/img]
На первом скрине видим заполненые строки start_user и one_level
1. start_user - суда как раз попадает id от кого была регистрация
2. one_level - суда пишутся все id пользователей кому я давал ссылку.
Эту часть кода написал. А вот дальше полный ступор... Как видим из таблицы есть следуюшие колонки two_level, three_level, four_level и т.к. до seven_level. В каждую эту колонку должны записаться id от моих приглашенных.
Пример:
я дал ссылку Сидорову
Сидоров дал ссылку Иванову
Тогда в базе происходит следующее... (скрин 2 [img]https://preview[dot]ibb[dot]co/bFB8Z7/2[dot]jpg[/img]) в колонку two_level запишется id Иванова т.к. он прошел регистрацию от Сидорова, а Сидоров от меня. Поэтому мне id Сидорова записалось в колонку two_level. Если сидоров позовет еще кого-та тогда заполнится заполнится у меня колонка three_level. Эта цепочка проходит только до seven_level, дальше уже не надо.
Натолкните на мысль как все это написать? Так от готового примера не откожусь т.к. всю голову уже сломал думая об этом.
Вот что есть на данный момент
PHP:
скопировать код в буфер обмена
$user_id = $db->insert_id(); $parent = $db->super_query("SELECT * FROM partner WHERE id='{$idNum}'"); if($parent['one_level'] != '') $one_level = $parent['one_level'].','.$user_id; else $one_level = $user_id; $db->super_query("UPDATE partner SET one_level='{$one_level}' WHERE id='{$idNum}'"); $db->query("INSERT INTO partner (start_user, one_level) VALUES('{$idNum}','{$idNum}')");
Прикреплено изображение (Нажмите для увеличения)
(Отредактировано автором: 16 Апреля, 2018 - 04:42:45)
|