Как реализовать выпадающее меню с данными из mysql?
К примеру, у меня есть вот такой HTML код меню
<li>
<span>Транспот</span>
<ul>
<li><a href="#">Самолет</a></li>
<li><a href="#">Поезд</a></li>
<li><a href="#">Автобус</a></li>
<li><a href="#">Автомобиль</a></li>
</ul>
</li>
Сначала идет основной раздел, т.е. родительский элемент меню, а после идут дочерние элементы меню.
структура базы выглядит так:
id, menutitle, link, parent
тут, думаю, тоже особо ничего не надо объяснять, всего лишь уделю внимание на колонку parent, где будет храниться ID родительского элемента.
Как вывести это всё из базы в виде вышеуказанного HTML кода?
Как то так, в массиве($array) должны быть данные из БД:
<li>
<span>Транспот</span>
<ul>
<?php foreach($array as $item) { ?>
<li><a href="<?= $item['id'] ?>"><?= $item['menutitle'] ?></a></li>
<?php } ?>
</ul>
</li>
function DrawMenu($id,$menu)
{
$result = '';
if(isset($menu[$id]))
{
$result .= "<ul>";
foreach($menu[$id] as $val)
{
$result .= "<li><a href='./page/".$val['id']."' >".$val['description']."</a>";
$result .= DrawMenu($val['childs'],$menu);
$result .= "</li>";
}
$result .= "</ul>";
}
return $result;
}
Функция реурсивного вывода меню. Массив под такой вывод должен быть подготовлен, глубина вложенности не имеет значения.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости