в базе есть таблица с полями id ownerid -это id родителя и подменюшек title-собственно название меню и под меню url-ссылочка ) ну так вот хотелось бы понять как правильно через php построить меню.
<?php
foreach($result as $key => $value){
if($value['ownerid']==0){
$main[$value['id']] = $value;
}else{
$main[$value['ownerid']]['sub'] = $value['title'];
}
}
foreach($main as $key => $value){
if($value['ownerid']==0){
echo '<li class="top"><a href="'.$value['url'].'" class="top_link"><span>'.$value['title'].'</span></a>';
echo '<ul class="sub">';
echo '<li><a href="'.$value2['url'].'" class="fly">'.$value['sub'].'</a>';
echo '</li>';
echo "</ul>";
echo '</li>';
}
}
?>
структура меню примерно такая
id ownerid title url
1 0 Главная страница
2 0 О комплексе
3 2 расположение
4 3 комфорт
5 3 технологии
6 3 робототехника
7 3 12345
8 3 еще что-то))))
9 3 галерея
10 0 Инфраструктура
11 0 космос
12 0 Услуги
13 0 Как купить
14 0 отдых
15 10 паркинг
16 10 описание
17 10 аренда
18 10 кафе
19 11 1к
20 11 2к
21 11 3к
22 11 фото
23 12 описание услуг
24 12 фото-примеры
25 12 стоимость
26 13 бумага
27 13 кредит
28 13 авто
29 14 фотогалерея
ну примерно так))))
(Добавление)
все вопрос решился тему оф) в моем случае если интересно кому вот так сделал
PHP:
скопировать код в буфер обмена
foreach($menu as $key => $value){ if($value['ownerid']==0){ $submenu = false; echo '<li class="top"><a href="'.$value['url'].'" class="top_link"><span>'.$value['title'].'</span></a>'; foreach($menu as $key2 => $value2){ if($value['id']==$value2['ownerid']){ if(!$submenu){ echo '<ul class="sub">'; $submenu = true; } echo '<li><a href="'.$value2['url'].'" class="fly">'.$value2['title'].'</a></li>'; } } if($submenu){ echo "</ul>"; } echo '</li>'; } }
это только для моего случая для троичного вложения еще нужно
echo '<li><a href="'.$value2['url'].'" class="fly">'.$value2['title'].'</a>
тут вложить 3-е под меню
</li>'; Прикреплено изображение (Нажмите для увеличения)
|