Навигация в многоуровневом меню - вопрос!

Vitalphp

Новичок
Навигация в многоуровневом меню - вопрос!

Приветствую всех форумчан!
Прошу помочь мне в моем вопросе.
Тема о многоуровневых меню уже не раз обсуждалась, но вопрос по самой навигации -перемещении по уровням меню!

Вот структура таблицы для меню:

-----------------------------
id | parent | level | title
-----------------------------

Вот код реализации рекурсии для раскрытия дерева меню целиком со всеми подкатегориями:

PHP:
<?
$query = mysql_query("select * from menu order by id asc", $conn);

while ($r = mysql_fetch_array($query)) { 
 if ($r[parent] == 0) { 
   echo "<div>".$r[title]."</div>"; 
   in($r[id],$r[parent]); 
 } 
}

function in($id,$pid) { 
 $query = mysql_query("select * from menu  where parent=".$id.""); 
 while ($r = mysql_fetch_array($query)) { 
  for ($i=0; $i<$r[level]; $i++){ 
     $margin+=15; 
  }

 echo "<div id='$r[id]' style='margin-left:".$margin."px'> 
              <a href=\"phpmenu.php?id=$r[id]\">".$r[title]."</a>
           </div>";

  $margin=0; 
  in($r[id],$r[parent]); 
 } 
} 
?>
Результат примерно такой (для примера):

Категория 1
-Подкатегория 1
-Подкатегория 2
--Подподкатегория 1
--Подподкатегория 2
-Подкатегория 3
Категория 2
-Подкатегория 1
--Подподкатегория 1
--Подподкатегория 2
-Подкатегория 2
Категория 3
...
...

Вопрос: как сделать так, чтобы меню работало так, как подобает, т.е. при нажатии например на
Категория 2 открывалась Подкатегория 1, при нажатии на нее - Подподкатегория 1 и Подподкатегория 2 соответственно? Может чего-то не учел в таблице базы, или может достаточно уже только php средств.
Классика короче нужна, что называется. Интересует именно на PHP, так как javascript не совсем то.. при переходах на разделы с javascript - все эти деревья благополучно закрываются (обновляется файл php)
Буду рад и javascript - решениям.

Спасибо большое!
 

Vitalphp

Новичок
спасибо to Breeze, а можно по-подробнее? и в каком месте именно, вот в чем дело..
 
Сверху