maxru
Да и "корневой элемент", если он 0, а не NULL, заметно упростит задачу. Максимальная вложенность меню для MySQL 4.1 - 61. Для более ранних версий - меньше. Зависит от максимального кол-во допустимых объеденений, если использовать запрос вида:
SELECT IF(t00.id IS NOT NULL, 1, 0) + IF(t01.id IS NOT NULL, 1, 0) + IF(t02.id IS NOT NULL, 1, 0) AS level
t0.id AS "0.id", t1.id AS "1.id", t2.id AS "2.id"
FROM table AS t0 LEFT JOIN table AS t1 ON (t1.parent_id = t0.id) LEFT JOIN table AS t2 ON (t2.parent_id = t1.id)
WHERE t0.parent = 5
(Для выборки всех подменю с уровнем вложенности 3)