2014-11-28 2 views
1

Мне просто нужен PHP-код, который извлекает данные из mysql и создает генеалогическое древо.Создание генеалогического древа из базы данных mysql, которая имеет некоторую схему

Данные Sql имеют следующую схему.

(Id, Name, ParentId1, ParentId2) 

я вставить данные в

INSERT INTO table_name (`Id`, `Name`, `ParentId1`, `ParentId2`) 
VALUES ('100', 'Name_1', 'Parent_1', 'Parent_2') 

Если 0 задан для parentId1 и ParentId2 то он находится в верхней части семьи. Код должен генерировать семейное дерево на основе parentId1 и parentId2. На основе соответствующего parentId имя должно быть прикреплено к родительскому. Необязательно Если я укажу связь между двумя примерами брака, они должны быть подключены в коде. Это нормально, если вы просто расскажите мне, как проектировать или приближаться.

+0

Следует отметить, что, по соглашению, NULL обычно используются для представления детей-сирот. – Strawberry

+0

, если вы решили использовать готовые плагины jquery tree. Большинство из них требуют данных json в качестве input.create требуемых json-данных на серверах с использованием запросов и циклов. –

+0

Хорошо, пусть будет так. Можете ли вы сказать мне, как подойти к – Jayaprakash

ответ

0

Я использую эту функцию для этого. Этой функции я создал возврат таблица йоты линейного дерева данных

Вы можете следить за идеей и настроить для вас

static function display_child_nodes($parent_id, $level,$data,$index,$dr){//first level= NULL,0 
     global $data, $index,$dr; 

     if(is_null($parent_id)){ 
      $parent_id ="NULL"; 
     } 

     if (isset($index[$parent_id])) {   
      foreach ($index[$parent_id] as $id) { 
       $mark=NULL; 
       if($level<1){ 
        $content = $data[$id][PROCEDIEMNTOS_PROFISSIONAIS_NOME]; 

       } 
       else{ 
        $content =str_repeat("&nbsp", $level*2) .$data[$id][PROCEDIEMNTOS_PROFISSIONAIS_NOME]; 
       } 
       $dr[$id]=$content; 
       self::display_child_nodes($id, $level + 1,$data,$index,$dr); 
      }   
    }  
    return $dr; 
} 
Смежные вопросы