PHP循环遍历导出的产品目录中的父子菜单项

时间:2012-09-06 15:55:20

标签: php mysql arrays

这个有点难, 我已经将ACTINIC的产品列表导入到mysql数据库中。我需要能够从顶级菜单项中收集所有产品,并将所有子菜单项放在一个数组中,以便我可以查找哪些产品属于所述顶级项目。

所有菜单项的id都是从1开始的顺序。

我需要一种基于其父ID循环遍历未确定数量的子项的方法,并将所有id中的id收集到用于循环产品的数组中。

我想我已经解释得很好,任何帮助或想法都会很棒。只需要一个起点然后我可以从这里开始。

//编辑

感谢johan指出我正确的方向

// $all is a mysql query
loopit($all);
function loopit($array){

    while($forone = mysql_fetch_array($array)){

        echo "id=" . $forone['nSectionID'] . " name=" . $forone['Section text'] . "<br />";

        $seltwo = mysql_query("SELECT * FROM [table] WHERE nParentSectionID='" . $forone['nSectionID'] . "'");

        loopit($seltwo);

    }

}

1 个答案:

答案 0 :(得分:0)

你需要一个递归函数。像这样:

function import ( $items ) {
  foreach ( $items as $item ) {
    // handle item import
    // .....

    if ( $item->children ) {
      import( $item->children ); // Notice the function calling itself here.
    }
  }
}