it takes a few reads to get round it, but the MODIFIED PREORDER TREE TRAVERSAL is the best way i've found.
all my sites use this as navigation. this a completely separate table which references all products using a product ID. just one table is needed.
takes care of all nav, breadcrumbs, etc