q tal esto? (hecho `on the fly`, puede tener errores :D )
   Código PHP:
    $sql="SELECT * FROM `menu`";
$consulta=mysql_query($sql,$link);
while($dato=mysql_fetch_array($consulta)) {
   $menu[$datos['id_padre']].[$datos['id']]=$datos['nombre'];
} 
    
  Con esto obtendriais la `extructura` del menu. Solo faltaria listarlo. No sé si veis por donde van los tiros ^^ 
PD: es una sugerencia, seria con una tabla tipo
id | id_padre | nombre 
que no hace falta id_hijo 
id deberia ser autonumerico ^^ 
Explicación para mostrar el menu:
Si no tiene "padre", este id deberia ser 0 (al insertar en la base) con lo cual le diriais que está en la raiz