2016-10-12 2 views

답변

0

이 코드를 사용하십시오. 참고 : 동일한 테이블의 여러 행에서 여러 데이터를 가져 오는 중입니다.

+0

아니요, 이렇게하면 안됩니다. I는 ( [first_categoryid] => 88 [first_category_name] => 명함 ) 배열 ( [second_categoryid] => 98 [second_category_name] => 서명 [parent_categoryid] => 88 해당 배열 같이 할) 배열 ( [second_categoryid] => 99 [second_category_name] => 표준 [parent_categoryid] => 88 ) 배열 ( [second_categoryid] => 101 [second_category_name] => UL tra thick [parent_categoryid] => 88 ) –

+0

안녕하세요 사용자 42! 작동하지 않습니다. 오류가 발생하여 MySQL이 빈 결과 집합 (예 : 0 행)을 반환했습니다. –

0

글쎄 bcoz 코드를 사용하고 있습니다. 3 단계 깊이 카테고리가 있기 때문에 bcoz를 사용하여 특정 솔루션을 찾을 수 없습니다. 그것의 작동 및 테스트 코드.

$all_categories = get_categories(array("taxonomy" => "product_cat", "parent" => 0, "show_count" => true)); 
     foreach ($all_categories as $cat) { 
       $category_id = $cat->term_id;  
       $sub = get_categories(array("taxonomy" => "product_cat", "parent" => $category_id)); 
       $wpdb->query($wpdb->prepare("INSERT INTO product_category(cat_id, cat_name, parent_id) 
       VALUES (%d, %s, %d)", array($category_id, $cat->name, $cat->category_parent))); 
       if(!empty($sub)){ 
        foreach($sub as $subcat){ 
         if($subcat->category_parent != ''){ 
          $subcatid = $subcat->term_id; 
          $wpdb->query($wpdb->prepare("INSERT INTO product_category(cat_id, cat_name, parent_id) 
          VALUES (%d, %s, %d)", array($subcatid, $subcat->name, $subcat->category_parent))); 
         } 
          $thirdlevel = get_categories(array("taxonomy" => "product_cat", "parent" => $subcatid)); 
          if(!empty($thirdlevel)){ 
           foreach($thirdlevel as $thirdcat){ 
            if($thirdcat->category_parent != ''){ 
             $lastcatid = $thirdcat->term_id; 
             $thirdarray = array('cat_id'=> $lastcatid, 'cat_name'=>$thirdcat->name, 'parent_id'=> $thirdcat->category_parent); 
            $wpdb->query($wpdb->prepare("INSERT INTO product_category(cat_id, cat_name, parent_id) 
            VALUES (%d, %s, %d)", array($lastcatid, $thirdcat->name, $thirdcat->category_parent))); 
            } 
           } 
          }  
        } 
       } 
     }  

이 코드 다음에이 쿼리를 사용하여 새 테이블에서 모든 데이터를 가져올 수 있습니다.

는 cat2name CAT2 AS, AS t2.cat_name t2.cat_id LEFT는 AS PRODUCT_CATEGORY 가입 T1 AS PRODUCT_CATEGORY FROM lev4 lev3 AS, AS t3.cat_name t3.cat_id, lev1name lev1 AS, AS t1.cat_name t1.cat_id SELECT t2 ON t2.parent_id = t1.cat_id LEFT JOIN product_category AS t3 ON t3.parent_id = t2.cat_id

관련 문제