@wixtransfer

Как сделать счетчик рефералов на PHP?

Ребят, есть многоуровневая реферальная система на сайте. Как реализовать счетчик рефералов и под рефералов?
Допустим по рефералке Пети зарегистрировался Вася, а по Васиной зарегистрировался Костя. Нужно чтобы в БД попала запись что кол-во рефералов Пети - 2(двое).

Нужна именно логика кода, код напишу сам. Заранее спасибо!
  • Вопрос задан
  • 691 просмотр
Пригласить эксперта
Ответы на вопрос 3
Для начала: у каждого пользователя, по идее, должно быть поле inviter, ну или любое другое, где хранится ID пользователя, который его пригласил. Допустим:
| id | username | inviter |
|----|----------|---------|
| 1  | abc      | null    |
| 2  | abcd     | 1       |
| 3  | abcde    | 2       |
| 4  | abcdef   | 1       |


Далее мы делаем выборку:
SELECT COUNT(*) FROM table_name WHERE inviter = {НОМЕР_ПОЛЬЗОВАТЕЛЯ}

Таким образом мы сможем посчитать всех рефералов пользователя {НОМЕР_ПОЛЬЗОВАТЕЛЯ} по первому углублению. По второму углублению (посчитать рефералов реферала пользователя) нужно делать, как мне кажется через доп запросы, но я не вижу в этом смысла ибо рефералы считаются только на первую глубину, на вторую глубину никогда они не считаются. То есть если у моего реферала есть 10 рефералов, то у меня реферал все равно один.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
hahenty
@hahenty
('•')
Рекурсивный обход по "дереву" рефералов с аккумулятивным подсчётом.

Или.

При возникновении нового сектреферала прибавлять единички каждому вышестоящему по иерархии.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы