dudeonthehorse
@dudeonthehorse
Email Developer

Верстка генеалогического древа

Подскажите, как было бы логичным сверстать генеалогическое древо? Акцент идет на то, что данные будут идти из MySql базы, следовательно сложные и неоднотипные конструкции не подойдут. Здесь мои соображения по простому дереву. Но при появлении в ветвях братьев и сестер, родственников родителей и их семей все оказывается не так уж и просто.
  • Вопрос задан
  • 4168 просмотров
Пригласить эксперта
Ответы на вопрос 2
ntkt
@ntkt
Потомственный рыцарь клавиатуры и паяльника
Я бы сделал тупо в лоб — человек рисуется любым элементом, хоть div, хоть button, но по рассчитываемым в жаваскрипте координатам.

Наколбасить рекурсивную (причем скорее head-recursive) функцию, скажем, draw_ancestors(). В ней, когда отрисуется нижний, заведомо более населенный уровень, и только тогда уже по полученным снизу координатам уже рассчитывать координаты для текущего и вернуть их в верхний уровень в стеке.

Как оптимизировать структуру БД и общение с ней в таком случае — отдельный вопрос. Я бы попробовал интереса ради вообще no-sql решение с получением сразу всего дерева в JSON.
Ответ написан
WildZero
@WildZero
Первое что пришло на ум: таблица. Количество столбцов — максимальная ширина дерева (как раз те самые горизонтальные «отростки» в виде сестер, братьев), количество строк — максимальная высота дерева (мамы, папы, бабушки, дедушки). Как то так.
Ответ написан
Ваш ответ на вопрос

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

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