Я хочу создать динамическое меню на PHP, и в зависимости от того, на какой странице они находятся, меню будет иметь разные стили.У меня есть это, но это не так, как я хочу: (
Это мой массив, содержащий информацию из базы данных
Array(
[Home] => Array
(
[url] => Home
[name] => Home
[is_home] => 1
)
[About] => Array
(
[url] => About
[name] => About
[is_home] => 0
)
[Contact] => Array
(
[url] => Contact.php
[name] => Contact
[is_home] => 0
)
)
Это то, что у меня сейчас есть,
if(isset($_GET["p"])) {
if(in_array($page_name, $navigation[$page_name])) {
$navigation[$page_name]["name"] = "<span>{$navigation[$page_name]["name"]}</span>";
}
}
foreach ($navigation as $nav) {
echo "<li><a href=\"" . strtolower($nav["url"]) . "\">{$nav["name"]}</a></li>";
}
Так выглядит переменная page_name
$page_name = current(explode(".", ucfirst(strtolower($_GET["p"]))));
Как вы можете видеть, это вставляет теги span в имя меню навигации, так что это работает, но это не так, как я хочу.Я хочу добавить class = "active" к элементу списка, который является текущей страницей. Я просто не знаю, как это сделать
Надеюсь, вы понимаете, что я имею в виду, и извините за любые грязные отступы, которые произошлипри вставке кода здесь.
// Редактировать
Код выборки и массива
$mysql->query("SELECT `page_name`, `is_home` FROM `pages` ORDER BY `order` ASC");
$navigation_items = array();
while ($mysql->fetch($row)){
$navigation_items[] = array(
"url" => $row["page_name"],
"name" => current(explode(".", $row["page_name"])),
"is_home" => $row["is_home"]
);
}
return $navigation_items;