Я сейчас создаю сайт для клиента, который хочет downloadbuilder или что-то в этом роде. По сути, это сайт с регистрационной формой, и у каждого участника есть referral-url , который содержит его идентификатор-указатель, поэтому, когда кто-то присоединяется, он помещается как нижестоящий член в виде пирамидальная структура .
Сам сайт содержит страницу со ссылками на другие сайты типа MLM , так что человек, который только что присоединится, будет у кого-то внизу, и ему будут показаны реферальные ссылки на другие сайты MLM. с реферальным идентификатором его вышестоящего для соответствующих сайтов MLM .
Если эти новые члены решат следовать их вышестоящему и стать также участниками других сайтов MLM он / она может замените URL на этих сайтах их реферальными URL для программ MLM. Это все довольно просто и относительно легко построить.
хитрая часть равна , когда новый участник не следует его / ее вышестоящему для определенной программы MLM , если это так нижестоящий этот новый участник увидит реферальные идентификаторы вышестоящего элемента нового члена или первого в иерархии , который ввел свой URL-адрес реферала.
Например, Мистер Браун на изображении ниже, присоединяется только к программе 1 & 2 , его downline видит все три программы, но одна из них присоединяется только программа 2 и 3 это означает, что для программы 3 его прямой восходящий канал будет верхним пределом мистера Брауна . (см. фиолетовую линию).

Именно в этой части я не уверен, как я могу это сделать без сложного рекурсивного поиска и что, если кто-то выйдет или покинет сайт?
Есть ли способ сделать такой поиск с помощью SQL или любой другой техники . Я думал о сохранении 'пути' в столбце таблицы с линией восходящих линий для каждого нового члена, так что относительно легко найти родителя, деда и так далее. Но все же вам нужно рекурсивно пройти по этому пути, чтобы найти первый с реферальным URL. Также, если вы удалите кого-то из дерева , все пути необходимо обновить , чтобы отразить новую ситуацию.
Нет предела тому, насколько глубоко или широко может стать дерево.
Надеюсь, это не слишком смущает. И между прочим, это НЕ первоапрельская шутка, мне бы очень хотелось, чтобы это было ...