0) { return true; } else return false; } /* * - listChilds() * @param $id Used to list children of $id * @param $depth Used to keep track of the $id's depth for listing * @return $arrayChild All childs of $id stored as an array (used by mainList()) */ function listChilds($id, $depth=1) { $sql="SELECT * FROM navigation WHERE parentid = " . $id . " ORDER BY rank;"; $qry=mysql_query($sql); while($list = mysql_fetch_assoc($qry)) { $arrayChild=array_merge($arrayChild, array( array( 'depth'=>$depth, 'id'=>$list['id'], 'name'=>$list['name'], 'parentid'=>$list['parentid'], 'contentid'=>$list['contentid'], 'rank'=>$list['rank'], 'type'=>$list['type'] ))); if(hasChild($list['id'])) { $depth=$depth+1; $arrayChild=array_merge($arrayChild,listChilds($list['id'], $depth)); $depth=$depth-1; } } return $arrayChild; } /* * - mainList() * @return $array All parents and childs from the database as an array */ function mainList() { $sql="SELECT * FROM navigation WHERE parentid = -1 ORDER BY rank;"; $qry=mysql_query($sql); $depth=0; while($list = mysql_fetch_assoc($qry)) { $array=array_merge($array, array( array( 'depth'=>$depth, 'id'=>$list['id'], 'name'=>$list['name'], 'parentid'=>$list['parentid'], 'contentid'=>$list['contentid'], 'rank'=>$list['rank'], 'type'=>$list['type'] ))); if(hasChild($list['id'])) { $array=array_merge($array, listChilds($list['id'])); } } return $array; } /* * Creating table */ echo ' '; /* * Storing mainList() in $array1 */ $array1 = mainList(); /* * Looping through $array1, putting values in
ID Name Parentid Contentid Rank Type Actions
*/ foreach($array1 as $key=>$arr) { if($arr['depth'] == 0) { $class="class=\"even\""; if ($key != 0) { echo ' '; } } else $class=""; echo ' '; } /* * End of table */ echo '
 
' . str_repeat("_",$arr["depth"]) . '' . $arr["id"] . ' ' . $arr["name"] . ' ' . $arr["parentid"] . ' ' . $arr["contentid"] . ' ' . $arr["rank"] . ' ' . $arr["type"] . ' X E
'; ?>