Имеется таблица в БД
id,name,address,parent,position,type,visibility
$query = "SELECT *
FROM ".TABLE_MENU."
WHERE visibility={?}
OR visibility={?}";
$menuarray = $db -> select($query,array($_SESSION['access'],'all'));
for ($i=0;$i<count($menuarray);$i++)
{
if($menuarray[$i]['parent']==0)
{
$basemenu[$menuarray[$i]['id']]['name']=$menuarray[$i]['name'];
$basemenu[$menuarray[$i]['id']]['position']=$menuarray[$i]['position'];
$basemenu[$menuarray[$i]['id']]['address']=$menuarray[$i]['address'];
$basemenu[$menuarray[$i]['id']]['type'] = $menuarray[$i]['type'];
$basemenu[$menuarray[$i]['id']]['parent'] = $menuarray[$i]['parent'];
$basemenu[$menuarray[$i]['id']]['submenu'] = array();
}
else
{$basemenu[$menuarray[$i]['parent']]['submenu'][count($basemenu[$menuarray[$i]['id']]['submenu'])]['name'] = $menuarray[$i]['name'];}
}
В пункте parent указывается id родительского элемента
Тот код, который я предоставил строит это меню только при условии что вложенность не больше 1, а как сделать, чтобы можно было строить трёхуровневое меню?
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки