拆分分类列基类,品牌和设计师

时间:2012-07-18 11:58:17

标签: php mysql arrays

<?php
while($row2 = mysql_fetch_array($result)){

$object_id = $row2['object_id'];
$sql ="select term_taxonomy_id from wp_term_relationships where object_id =
$object_id";
$results = mysql_query($sql);

while($row3 = mysql_fetch_array($results)){

    $term_taxonomy_id1[] = $row3['term_taxonomy_id']."<br/>";

  }

}
print_r($term_taxonomy_id1);
?>

使用上面的代码后,我在数组

中获取了term_taxonomy_id
    Array (
    [0] => 249
    [1] => 250
    [2] => 251
    [3] => 252
    [4] => 250
    [5] => 251
    [6] => 254
    ) 

我想获取term_id(基于分类,品牌和设计师的分类分类列)

这是表结构

表:wp_term_taxonomy

enter image description here

我需要那样的输出

       Array
    (
    [category] => Array
      (
      [0] => 177
      [1] => 179
      )
    [brand] => Array
      (
      [0] => 176
      )
    [designer] => Array
      (
      [0] => 175
      [1] => 180
      )
    ) 

2 个答案:

答案 0 :(得分:0)

<?php
while($row2 = mysql_fetch_array($result)){

      $object_id = $row2['object_id'];

      $sql ="select term.term_taxonomy_id,wp.term_id from wp_term_relationships as term  inner join wp_term_taxonomy as wp ON term.term_taxonomy_id=wp.term_taxonomy_id where object_id = $object_id";

      $results = mysql_query($sql);

      $i=0;
     while($row3 = mysql_fetch_array($results)){
         $term_taxonomy_id1[$i] = $row3['term_taxonomy_id'];

         $res_term_id[$i] = $row3['term_id'];

       }
}

答案 1 :(得分:0)

我不确定我是否正确,因为我不理解 term_taxonomy_id 的必要性,但是如果它可以帮助你:

$data=array();
while($row3=mysql_fetch_assoc($result)){
  $taxonomy=$row3['taxonomy'];
  $sql2="select term_id from wp_term_relationships where taxonomy=$taxonomy";
  $res=mysql_query($sql2);
  while($row4=mysql_fetch_assoc($res)){
    $tab[]=$row4['term_id'];
  }
  $data[$taxonomy]=$tab;
}

这不是最好的,你仍然可以使用JOIN程序来提高性能,但它应该可以工作。