Задать вопрос
@wixtransfer

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

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

Нужна именно логика кода, код напишу сам. Заранее спасибо!
  • Вопрос задан
  • 716 просмотров
Подписаться 3 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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
('•')
Рекурсивный обход по "дереву" рефералов с аккумулятивным подсчётом.

Или.

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽