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


PHP loop through parent child menu items from exported product catalogue

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

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

我需要一种方法,根据父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);
    }
}

您需要一个递归函数。类似这样的东西:

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