我想在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"] = "{$navigation[$page_name]["name"]}";
}
}
foreach ($navigation as $nav) {
echo "
{$nav["name"]}";}这是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;