2014-11-28 2 views
1

mysql에서 데이터를 검색하고 패밀리 트리를 작성하는 PHP 코드가 필요합니다.일부 스키마가있는 mysql 데이터베이스에서 패밀리 트리 만들기

SQL 데이터에는 다음과 같은 스키마가 있습니다. 0 그는 가족의 상단에 parentId1 및 ParentId2 지정하면

(Id, Name, ParentId1, ParentId2) 

나는

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

로 데이터를 삽입 할 수 있습니다. 코드는 parentId1 및 parentId2를 기반으로 패밀리 트리를 생성해야합니다. 일치하는 parentId에 따라 name이 부모에 연결되어야합니다. 선택적으로 두 결혼 예가 어떤 관계를 맺고 있는지를 지정하면, 그 부부 관계가 코드에 연결되어야합니다. 디자인이나 접근 방법에 대한 개요를 말해 주면 좋습니다.

+0

참고 사용자 정의 할 수있는 선형 데이터 트리를

엉. – Strawberry

+0

기성품 jquery 트리 플러그인을 사용하기로 결정한 경우 그 중 대부분은 json 데이터를 입력으로 요구합니다. 쿼리 및 루프를 사용하여 서버 측에서 필요한 json 데이터를 작성하십시오. –

+0

좋아, 그렇게하자. 어떻게 접근하는 – Jayaprakash

답변

0

이 기능을 사용합니다. 내가 수익을 만든 이 기능은 테이블 당신은 아이디어를 따라 당신에게 관례 적으로, NULL 일반적으로 고아를 나타내는 데 사용되는 것을

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; 
} 
관련 문제