Каким образом написать скрипт для автоматического построения реф-дерева?

YM
На сайте с 30.03.2015
Offline
11
YOM
381

Ребят, вопрос в следующем. Нужен скрипт, который по этой базе, строил бы дерево. Задача интересная, и мне что-то подсказывает, что элементарная. В ступор меня ввело вот что:

parent - это тот кто НАД человеком. Тот кто ПОД, в базе не прописано. И я немного в замешательстве.

Помогите пожалуйста, как правильнее реализовать эту задачу.

Вот скриншот таблицы

png 142266.png
DV
На сайте с 01.05.2010
Offline
644
#1

Идея раз: подсчитываем, на кого больше ссылок parent, его ставим во главе иерархии.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
YM
На сайте с 30.03.2015
Offline
11
YOM
#2

Не) Тут бинар, на каждого всегда двое максимум.

По поводу главы иерархии, в принципе можно и ручками вбить, так как известен логин. А вот дальше как от него отталкиваться, если честно в замешательстве. Сейчас копаю nested sets, но что-то мне подсказывает что либо можно это сделать проще, либо я слишком туплю. Мне бы хотя бы набросочек, чтобы дальше от него отталкиваться.

ДП
На сайте с 23.11.2009
Offline
203
#3

Насколько я помню, при такой структуре базы, т.е. когда только родитель хранится - только перебором.

Кроме nested sets есть еще materialized path и Adjacency List ну и гуглите по этим терминам или http://habrahabr.ru/post/46659/ например

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий