Hi All,
Just an update to let you know that I have managed to solve this. The code is a little messy and complex because of the stylesheets that I use for it, but it works like this:
Code:
<?
$result=mysql_query("SELECT id, title, link, parent_code, page_order, menu_title, parent_title, page_type, live, editable, installed FROM $filename WHERE type='PAGE' AND installed='checked' ORDER BY parent_code, page_order, title");
$menu = array(
'items' => array(),
'parents' => array()
);
while ($items = mysql_fetch_assoc($result))
{
$menu['items'][$items['id']] = $items;
$menu['parents'][$items['parent_code']][] = $items['id'];
}
function buildMenu($parent_code, $menu)
{
$html = "";
if (isset($menu['parents'][$parent_code]))
{
$html .= "\n";
foreach ($menu['parents'][$parent_code] as $itemId)
{
if(!isset($menu['parents'][$itemId]))
{
$html .= "<tr><td class=\"".$menu['items'][$itemId]['page_type']."_EDIT\"><ul class=\"edit clear\"><li><a href=\"admin_pages_".$menu['items'][$itemId]['page_type'].".php?eid=".$menu['items'][$itemId]['id']."\">Edit / Delete<span></span></a></li></ul></td>
<td class=\"".$menu['items'][$itemId]['page_type']."_b_l\">".$menu['items'][$itemId]['title']."</td>
<td class=\"".$menu['items'][$itemId]['page_type']."_b_l\">".$menu['items'][$itemId]['parent_title']."</td>
<td class=\"".$menu['items'][$itemId]['page_type']."_b_c\">".$menu['items'][$itemId]['page_order']."</td>
<td class=\"".$menu['items'][$itemId]['page_type']."_b_c\"><img src=\"../data/admin_docs_".$menu['items'][$itemId]['live'].".gif\" title=\"Showing Page\"></td></tr>";
}
$html .= "</tr> \n";
if(isset($menu['parents'][$itemId]))
{
$html .= "<tr><td class=\"".$menu['items'][$itemId]['page_type']."_EDIT\"><ul class=\"edit clear\"><li><a href=\"admin_pages_".$menu['items'][$itemId]['page_type'].".php?eid=".$menu['items'][$itemId]['id']."\">Edit / Delete<span></span></a></li></ul></td>
<td class=\"".$menu['items'][$itemId]['page_type']."_b_l\">".$menu['items'][$itemId]['title']."</td>
<td class=\"".$menu['items'][$itemId]['page_type']."_b_l\">".$menu['items'][$itemId]['parent_title']."</td>
<td class=\"".$menu['items'][$itemId]['page_type']."_b_c\">".$menu['items'][$itemId]['page_order']."</td>
<td class=\"".$menu['items'][$itemId]['page_type']."_b_c\"><img src=\"../data/admin_docs_".$menu['items'][$itemId]['live'].".gif\" title=\"Showing Page\"></td></tr>";
$html .= buildMenu($itemId, $menu);
}
}
$html .= "\n";
}
return $html;
}
echo buildMenu(0, $menu);
?>
I hope that this helps someone somewhere, and thanks for the help all have given me.
Neil