Получить данные о реферере пользователя и реферере в php - PullRequest
0 голосов
/ 02 апреля 2020

На самом деле я застрял здесь, я хочу получить данные текущего Пользователя и данные реферала текущего пользователя и данные реферала реферера.

Как A - первый пользователь, B - второй, C - третий, D - четвертый. Если пользователь A вошел в систему, то запрос должен сначала получить данные пользователя A, и при этом должны быть данные пользователя B, поскольку пользователь B ссылается на пользователя A, а в разделе B должны быть данные пользователя C. потому что пользователь C отсылается пользователем B и т. д. для пользователя D.

Все эти данные должны отображаться под именем пользователя A. В настоящее время я получаю только 1 данные реферера по этому запросу:

    $querySelect = "Select * from tbl_users where UserID = '$UID'";
    $resultSelect = mysqli_query($conn,$querySelect);
    $numSelect = mysqli_num_rows($resultSelect);
    $FetchedSelect = mysqli_fetch_assoc($resultSelect);

if($numSelect > 0)
{
   $refID = $FetchedSelect['refID'];

//some code to show the the table data...
}

    $querySelect1 = "Select * from tbl_users where UserID = '$refID'";
    $resultSelect1 = mysqli_query($conn,$querySelect1);
    $numSelect1 = mysqli_num_rows($resultSelect1);
    $FetchedSelect1 = mysqli_fetch_assoc($resultSelect1);

if($numSelect1 > 0)
{
   //do some codes to show the table data 
}

Таким образом, я просто получаю данные двух пользователей: текущий пользователь и текущий реферер. Но я хочу получить данные всех пользователей в верхней строке, как я упоминал в верхней части этого поста. Как мне этого добиться?

1 Ответ

1 голос
/ 02 апреля 2020

Я получил ответ из другого потока stackoverflow, копаясь в нем. Вот мой правильный запрос, чтобы получить только 5 данных пользователей верхнего ряда из одной таблицы:)

SELECT T2.UserID, T2.Reff_User,T2.Username 
FROM ( SELECT @r AS _id, (SELECT @r := Reff_User FROM tbl_users WHERE UserID = _id) AS ref_user, @l := @l + 1 AS lvl 
FROM (SELECT @r := 32, @l := 0) vars, tbl_users m WHERE @r <> 0) T1 
JOIN tbl_users T2 ON T1._id = T2.UserID ORDER BY T1._id DESC LIMIT 5

Вот ссылка на тему:

Поиск всех родителей в mysql таблица с одним запросом (рекурсивный запрос)

@ sel ответ решил мою проблему. Спасибо, поток стеков, особенно @ sel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...