@QcfgAlexandr

Как получить количество рефералов в трех уровневой системе сайта на php?

Здравствуйте, нужна помощь с php, есть сайт с трех уровневой реф системой, необходимо вывести общее количество реффералов, рефералов первого уровня я получил так:

$ref1countq = $mysqli->query("SELECT COUNT(*) FROM users WHERE ref='$a_name'");
$ref1count = mysqli_fetch_row($ref1countq);


Переменная $a_name = текущему имени пользователя
Но вот получить кол-во рефералов второго и третьего уровней не получается, помогите пожалуйста.

Вывод общего количества рефералов:
$allrefcount = $ref1count[0] + $ref2count[0] + $ref3count[0];
  • Вопрос задан
  • 2486 просмотров
Решения вопроса 1
@QcfgAlexandr Автор вопроса
Комментировать
Пригласить эксперта
Ответы на вопрос 2
KurazhBambei
@KurazhBambei
А как рефералы второго и третьего уровня у вас идентифицируются?
Ответ написан
Если предположить, что в таблице users есть поля id и username, в которых хранятся, соответственно, ID и имя пользователя, то запрос выглядит так:
SELECT
    COUNT(DISTINCT u1.id) first_level_refs_count, 
    COUNT(DISTINCT u2.id) second_level_refs_count, 
    COUNT(DISTINCT u3.id) third_level_refs_count
FROM users u1
    LEFT JOIN users u2 ON u2.ref = u1.username
    LEFT JOIN users u3 ON u3.ref = u2.username
WHERE u1.ref = ?


first_level_refs_count - количество рефералов первого уровня
second_level_refs_count - количество рефералов второго уровня
third_level_refs_count - количество рефералов третьего уровня
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы