Вывод многоуровнего меню

preview_player
Показать описание
Уроки по верстке сайта тут:

От автора: при создании сайтов, практически всегда необходимо выводить меню, то есть определенный блок с навигацией, либо по страницам, либо по категориям веб-приложения. И очень часто данное меню необходимо отобразить в виде многоуровневого "дерева ". И хорошо если предусматривается только второй уровень вложенности, если третий, или вообще, неограниченный уровень вложенности. Как быть в этом случае? Поэтому в данном уроке мы с Вами научимся выводить на экран многоуровневое меню, с неограниченным уровнем вложенности.
Рекомендации по теме
Комментарии
Автор

Здравствуйте! А как быть с добавлением классов к вложенным пунктам меню? У меня на сайте предполагается многоуровневое меню постраничной навигации. Сам сайт написан с использованием bootstrap 3, где все держится на классах. Как быть?

БоскачёваЛ.М
Автор

Спасибо!!
код более менее понятен для меня новачка... но как далее выводить контент с этих подменю? нужно дополнить данную таблицу БД полями с контентом?

sancho-paska
Автор

Видео класс.У меня вопрос.Создаю сайт косметики и хочу сделать многоуровневое меню, но как сделать так, чтобы при выборе определённого пункта меню(Родительского) выводился только подпункты выбраного раздела?

djuice
Автор

Здравствуйте. я создал многоуровневое меню, но не могу сделать его выпадающим. помогите пожалуйста

TheMegadevill
Автор

спасибо тебе, человечище. Сколько я ломал голову как это сделать.

КОД для торопливых:


function connect()
{
//адрес сервера, логин, пароль, имя бд
$connection = mysqli_connect('sr.ru', 'root', '', 'personal_information_db');

if ($connection == false) { //Проверка на успешное подключение к БД
echo 'не удалось подключитсья к БД <br>';

echo mysqli_connect_error();
exit();
}
return $connection;
}


function get_notes()
{
$connection = mysqli_connect('sr.ru', 'root', '', 'personal_information_db');

if ($connection == false) { //Проверка на успешное подключение к БД
echo 'не удалось подключитсья к БД <br>';

echo mysqli_connect_error();
exit();
}


$sql = "SELECT * FROM bd";
$result = mysqli_query($connection, $sql);

if (!$result) {
return NULL;
}

$arr_get = array();
if (mysqli_num_rows($result) != 0) {

for ($i = 0; $i < mysqli_num_rows($result); $i++) {
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);

if {
$arr_get[$row['parent_id']] = array();
}
$arr_get[$row['parent_id']][] = $row;
}
}
return $arr_get;
}

function view_notes($arr, $parent_id = 0)
{

if (empty($arr[$parent_id])) {
return;
}



echo "<ul>";

for ($i = 0; $i < count($arr[$parent_id]); $i++) {

echo "<li> <a href='?category_id=" . $arr[$parent_id][$i]['id'] . "&parent_id=" . $parent_id . "'>" .
$arr[$parent_id][$i]['name'] . "</a>";
view_notes($arr, $arr[$parent_id][$i]['id']);
echo "</li>";
}
echo '</ul>';
}

dstance