Anton63
Новичок
Формирование меню из БД
Здрасьте!!!
Хочу сделать меню на php, что бы разделы и подразделы этого меню хранились в БД. Будет иерархическая структура разделов. В БД, в табличке следующие поля:
id - ну это ясно.
name - имя раздела, например "Услуги".
parent - родительский раздел(содержит id родителя).
some - условие(показывать или нет этот раздел).
Создаю массив с этими разделами:
А вот как дальше сделать без понятия. .
Хочу что бы меню было такого типа:
Раздел 1
Раздел 2
Подраздел 1
->Подраздел 2(мы тут находимся)
Раздел 3
И вот так:
Раздел 1
->Раздел 2(мы тут находимся)
Подраздел 1
Подраздел 2
Раздел 3
В первом случае в разделе 1 тоже есть подразделы, но они не должны показываться.
Во втором случае надо показать только подразделы Раздела 2.
Просто зная id текущей страницы, надо постоить меню так, что бы было видно в каком разделе мы находимся, какие разделы на этом же уровне и какие на уровень ниже.
Подскажите, пожалуйсто, а то даже не знаю как подступить к этой штуке.
Здрасьте!!!
Хочу сделать меню на php, что бы разделы и подразделы этого меню хранились в БД. Будет иерархическая структура разделов. В БД, в табличке следующие поля:
id - ну это ясно.
name - имя раздела, например "Услуги".
parent - родительский раздел(содержит id родителя).
some - условие(показывать или нет этот раздел).
Создаю массив с этими разделами:
PHP:
$result = mysql_query('SELECT * FROM menu', $db); $menu = array(); $i = 0; while($m = mysql_fetch_assoc($result)) //создаём массив всех эллементов меню { $menu[$i]['id'] = $m['id']; $menu[$i]['name'] = $m['name']; $menu[$i]['parent'] = $m['parent']; $menu[$i]['some'] = $m['some']; $i++; }
Хочу что бы меню было такого типа:
Раздел 1
Раздел 2
Подраздел 1
->Подраздел 2(мы тут находимся)
Раздел 3
И вот так:
Раздел 1
->Раздел 2(мы тут находимся)
Подраздел 1
Подраздел 2
Раздел 3
В первом случае в разделе 1 тоже есть подразделы, но они не должны показываться.
Во втором случае надо показать только подразделы Раздела 2.
Просто зная id текущей страницы, надо постоить меню так, что бы было видно в каком разделе мы находимся, какие разделы на этом же уровне и какие на уровень ниже.
Подскажите, пожалуйсто, а то даже не знаю как подступить к этой штуке.