achso hab eher gedacht dass es ein allgemeiner fehler sein könnte.. also:
Code für die rekursive schleife der ausgabe des menüs.. ich denk mir hier liegt das hauptproblem:
PHP-Code:
function get_pos($who)
{ global $db_kategorien;
global $pos;
global $parent;
$ergebnis = mysql_query("SELECT * FROM $db_kategorien WHERE id='$who' AND anzeigen='1'");
while($row = mysql_fetch_object($ergebnis))
{ $pos++;
$parent=$row->id;
get_pos($row->id_parent);
}
}
function get_ifparent($who)
{ global $db_kategorien;
global $id;
global $parent;
$ergebnis = mysql_query("SELECT * FROM $db_kategorien WHERE id_parent='$who' AND anzeigen='1'");
while($row = mysql_fetch_object($ergebnis))
{ if($id==$row->id) $parent=true;
get_ifparent($row->id);
}
}
$farben=array("", "#E1E1E1", "#f1f1f1", "#C6D6E4", "#EFF5F9");
$tiefenstyles=array("ebene1","ebene2","ebene3");
$bildpfad="../bilder/icons/";
function get_tree($who,$ebene)
{ global $db_kategorien;
global $bildpfad;
global $pos;
global $parent;
global $id;
global $farben;
$ergebnis = mysql_query("SELECT * FROM $db_kategorien WHERE id_parent='$who' AND anzeigen='1'");
while($row = mysql_fetch_object($ergebnis))
{ $pos=0; if($id==$row->id); get_pos($row->id);
$parent=false;
get_ifparent($row->id);
$sub='';
if($id==$row->id) $sub=@mysql_num_rows(@mysql_query("SELECT * FROM $db_kategorien WHERE id_parent='$id' AND anzeigen='1'"));
echo ' <tr>';
echo ' <td height="26" colspan="2" bgcolor="'.$farben[$pos].'" onMouseOver="button_over_'.$pos.'(this);" onMouseOut="button_out_'.$pos.'(this);">';
if($parent==true || $id==$row->id)
{ echo $parent==true || $sub ? '[img]bilder/menu_ac2.gif[/img]' : '[img]bilder/menu_ac.gif[/img]';
}
else
echo ' [img]bilder/menu_normal.gif[/img]';
echo ' [url="index.php?id='.$row->id.'"]'.$row->name.'[/url]</td>';
echo ' </tr>';
echo '<tr><td></td><td height="3"></td></tr>';
if($parent==true || $sub)
get_tree($row->id,$ebene."");
}
}