rendered paste body<?PHP/* * Connecting to the database */openConnection();/* * list related functions * * - hasChild() * @param $id Used to check if $id has children * @return boolean Returns true when the $id has children */function hasChild($id) { $sql="SELECT * FROM navigation WHERE parentid = " . $id . ";"; $qry=mysql_query($sql); if(mysql_num_rows($qry) > 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 ' <table cellspacing="0" > <tr class="head"> <th>ID</th> <th>Name</th> <th>Parentid</th> <th>Contentid</th> <th>Rank</th> <th>Type</th> <th>Actions</th> </tr>';/* * Storing mainList() in $array1 */$array1 = mainList();/* * Looping through $array1, putting values in <table> */foreach($array1 as $key=>$arr) { if($arr['depth'] == 0) { $class="class=\"even\""; if ($key != 0) { echo ' <tr class="placeholder"> <td colspan="7"> </td> </tr>'; } } else $class=""; echo ' <tr ' . $class . '> <td>' . str_repeat("_",$arr["depth"]) . '' . $arr["id"] . '</td> <td>' . $arr["name"] . '</td> <td>' . $arr["parentid"] . '</td> <td>' . $arr["contentid"] . '</td> <td>' . $arr["rank"] . '</td> <td>' . $arr["type"] . '</td> <td><a href="#">X</a> <a href="?page=create.menu&id=' . $arr["id"] . '">E</a></td> </tr>';}/* * End of table */echo '</table>'; ?>