2016-01-15 6 views
0

Я хочу нарисовать двоичное дерево, но дело в том, что я не могу найти правильный плагин javascript. Я много искал для javascript-плагина, но не мог найти ничего, что могло бы помочь мне, и те, что я нашел, не имели большого количества документации.Показать список как двоичное дерево

Я извлекаю двоичное дерево, в котором каждая запись знает, чей это родитель, и с какой стороны они находятся. что данные кодируются в json и отправляются обратно на вызов ajax. Я хочу нарисовать двоичные данные по этим данным. Может ли кто-нибудь рассказать мне о любом плагине, который поможет мне сделать это?

ID | user_id | parent_id | side | depth | created_at | updated_at

Мои данные возвращаются в форме json. Теперь у меня есть стороны, на которых они включены, и родительский идентификатор говорит, что пользователь является его родителем. Теперь данные возвращаются в json-форме, которая имеет массив, каждый индекс которого имеет объект в формате, который я дал в блочных кавычках. Теперь я хочу aa jquery library, которая принимает идентификатор пользователя в отношении того, что отображать в виде текста в них, и если у них есть родитель, у которого есть его родитель, и с какой стороны они находятся на

+0

Возможный дубликат [Рисовать двоичное дерево] (http://stackoverflow.com/questions/21231245/draw-a-binary-tree) – DavidVollmers

+0

Можете ли вы опубликовать ваши данные? Как вы хотите, чтобы они отображались? Что вы сделали до сих пор? –

+0

@ Aᴍɪʀ Я обновил вопрос – Gardezi

ответ

0

Я нашел решение для двоичное дерево. Кто-нибудь читал этот ответ может использовать Google Organization Chart и вот ссылка Google Organization Chart

$(document).ready(function(){ 
      google.charts.load('current', {packages:["orgchart"]}); 
      google.charts.setOnLoadCallback(drawChart); 
      function drawChart() { 

       var data = new google.visualization.DataTable(); 
       data.addColumn('string', 'id'); 
       data.addColumn('string', 'Manager'); 
       data.addColumn('string', 'toolTip'); 

       data.addRows([ 
        <?php foreach($data as $values): ?> 

         [value, parent, ""], 
        <?php endforeach; ?> 
       ]); 
       // Create the chart. 

       var chart = new google.visualization.OrgChart(document.getElementById('chart_div')); 
       chart.draw(data, {allowHtml:true}); 
      } 
     }); 

Одна последняя вещь, когда вы будете пытаться печатать, поскольку я использую PHP, я обнаружил ошибку, что корень родитель не имел ни одного ребенка, так это было ничего не печатает так для всех разработчиков PHP вы можете сделать это в родительском параметре

"<?php echo isset($values['something']) ? $values['something'] : ''; ?>" 

и одна последняя вещь в моем случае все было строка, поэтому мне пришлось приложить значения и т.д. в кавычках

Надежда Тхи s помогает

Одна вещь, которую я забыл, это просто помнить, если узел имеет только один ребенок, то он не отображает его слева или справа, а по прямой. Это единственное, чего у него нет, это, насколько мне известно,

Смежные вопросы