Формирование структуру 6 уровней

172
29 августа 2018, 21:30

Как мне сохранить в базе 6 уровней такой структуры, например я самый верхний, ниже два моих рефералкой и у каждого рефералкой 2 своих? Чтобы я например проверить сколько пользователей на втором уровне? И если там не достаёт например одного вставил туда пользователя?

Answer 1

Обычно в проектах я видел простую таблицу users

id - autoincrement primary

user_id int

parent_id int

а запросы что то вроде

SELECT DISTINCT t1.`user_id`, 
(SELECT COUNT(*) FROM `users`
 WHERE `parent_id` = t1.`user_id` ) AS `count`
FROM `users` t1

Показывает у скольких пользователей в таблице такой же родитель

Что бы узнать кто записан под этим человеком

SELECT `user_id` FROM `users` WHERE `parent_id` = :parent_id

Что бы узнать соседа

SELECT `user_id` 
FROM `users` 
WHERE `parent_id` = (
        SELECT `parent_id` 
        FROM `users` 
        WHERE `user_id` = :user_id
) AND `user_id` != :user_id

Кто на вершине?

SELECT `user_id` FROM `users` WHERE `parent_id` IS NULL OR `parent_id` = 0
READ ALSO
PHP 7.0 if else

PHP 7.0 if else

Почему при задании переменной $a значения больше 49 выводится не только квадрат значения этой переменной, но и "ошибка", которая описана в else?

185
Получить _csrf-backend и авторизоваться

Получить _csrf-backend и авторизоваться

Хочу авторизоваться cURL'ом на странице и получить с нее данныеЗаметил что при авторизации, точнее при переходе на сайт, генерируется каждый...

180
Вывод постов по их id

Вывод постов по их id

Как вывести определённые посты по их id? Делаю так:

186