这个有点难, 我已经将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);
}
}
答案 0 :(得分:0)
你需要一个递归函数。像这样:
function import ( $items ) {
foreach ( $items as $item ) {
// handle item import
// .....
if ( $item->children ) {
import( $item->children ); // Notice the function calling itself here.
}
}
}