0

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

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

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

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

// 编辑

感谢约翰为我指明了正确的方向

// $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);

    }

}
4

1 回答 1

0

为此,您将需要一个递归函数。像这样的东西:

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

    if ( $item->children ) {
      import( $item->children ); // Notice the function calling itself here.
    }
  }
}
于 2012-09-06T15:58:11.480 回答