Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: рекурсивное меню подскажите в чем проблема

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: пробовал много вариантов но пока безуспешно ибо только учусь)
unixdifferent
Отправлено: 31 Мая, 2011 - 17:52:30
Post Id



Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Май 2011  


Помог: 0 раз(а)

[+]


в базе есть таблица с полями 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:
скопировать код в буфер обмена
  1.  
  2. foreach($menu as $key => $value){
  3.                         if($value['ownerid']==0){
  4.                                 $submenu = false;
  5.                                 echo '<li class="top"><a href="'.$value['url'].'" class="top_link"><span>'.$value['title'].'</span></a>';
  6.                                 foreach($menu as $key2 => $value2){
  7.                                         if($value['id']==$value2['ownerid']){
  8.                                                 if(!$submenu){
  9.                                                         echo '<ul class="sub">';
  10.                                                         $submenu = true;
  11.                                                 }
  12.                                                 echo '<li><a href="'.$value2['url'].'" class="fly">'.$value2['title'].'</a></li>';
  13.                                         }
  14.                                 }
  15.                                 if($submenu){
  16.                                         echo "</ul>";
  17.                                 }
  18.                                 echo '</li>';
  19.                         }
  20.                 }
  21.  




это только для моего случая для троичного вложения еще нужно
echo '<li><a href="'.$value2['url'].'" class="fly">'.$value2['title'].'</a>
тут вложить 3-е под меню
</li>';
Прикреплено изображение (Нажмите для увеличения)
123.bmp
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB