php中的动态导航
如何在php中实现动态导航 e、 g 主页|关于|联系|常见问题解答|教程php中的动态导航,php,dynamic,navigation,Php,Dynamic,Navigation,如何在php中实现动态导航 e、 g 主页|关于|联系|常见问题解答|教程 我需要自动生成的链接动态分别到每个页面没有太多的脚本。e、 g我应该拥有所有链接,而无需手动输入到其他页面的链接?似乎您希望在所有页面中包含一个菜单文件。 您可以使用include() 在您的所有页面中: <html> <body> <?php include('navigation.php'); ?> Contents of this page here...
我需要自动生成的链接动态分别到每个页面没有太多的脚本。e、 g我应该拥有所有链接,而无需手动输入到其他页面的链接?似乎您希望在所有页面中包含一个菜单文件。 您可以使用include() 在您的所有页面中:
<html>
<body>
<?php include('navigation.php'); ?>
Contents of this page here...
</body>
</html>
本页内容在此。。。
在navigation.php中:
<div id="mainmenu">
<a href="home.php">Home</a> | <a href="about.php">About</a> | etc...
</div>
||等等。。。
这样,您可以为所有页面只更新一次导航菜单。似乎您希望在所有页面中包含一个菜单文件。 您可以使用include() 在您的所有页面中:
<html>
<body>
<?php include('navigation.php'); ?>
Contents of this page here...
</body>
</html>
本页内容在此。。。
在navigation.php中:
<div id="mainmenu">
<a href="home.php">Home</a> | <a href="about.php">About</a> | etc...
</div>
||等等。。。
通过这种方式,您可以只为所有页面更新一次导航菜单。如果您只想显示一组已知页面的菜单,而不需要重新设计当前代码,那么以下方法如何:
<?php
$pages = array(
'index.php' => 'Home',
'about.php' => 'About',
'contact.php' => 'Contact',
'faq.php' => 'FAQ',
'tutorials.php' => 'Tutorials',
) ;
$currentPage = basename($_SERVER['REQUEST_URI']) ;
?>
<div id="menu">
<ul id="menuList">
<?php foreach ($pages as $filename => $pageTitle) {
if ($filename == $currentPage) { ?>
<li class="current"><?php echo $pageTitle ; ?></li>
<?php } else { ?>
<li><a href="<?php echo $filename ; ?>"><?php echo $pageTitle ; ?></a></li>
<?php
} //if
} //foreach
?>
</ul>
</div>
将其放入自己的文件中,比如
menu.php
,然后将其包含在每个页面中。然后,您可以使用CSS。如果您只想显示一组已知页面的菜单,而不需要重新设计当前代码,那么:
<?php
$pages = array(
'index.php' => 'Home',
'about.php' => 'About',
'contact.php' => 'Contact',
'faq.php' => 'FAQ',
'tutorials.php' => 'Tutorials',
) ;
$currentPage = basename($_SERVER['REQUEST_URI']) ;
?>
<div id="menu">
<ul id="menuList">
<?php foreach ($pages as $filename => $pageTitle) {
if ($filename == $currentPage) { ?>
<li class="current"><?php echo $pageTitle ; ?></li>
<?php } else { ?>
<li><a href="<?php echo $filename ; ?>"><?php echo $pageTitle ; ?></a></li>
<?php
} //if
} //foreach
?>
</ul>
</div>
将其放入自己的文件中,比如
menu.php
,然后将其包含在每个页面中。然后你可以使用CSS。我同意第一种解决方案,即使它有点简单。对我来说,你必须将你的网站拆分成一些脚本,在其中包括导航脚本,就像第二个解决方案一样
/* header.php (main header template)*/
<html>
<head>
...
</head>
<body>
<div id="mainMenu">
<?php echo Navigation::getNav($databaseCnx);?>
</div>
但是,如果您真的想进行动态导航,您的数据不能写入文件,而是存储在数据库或xml文件中。。。。
要做到这一点,您必须创建一个类或函数来解析您的数据,并像第一个解决方案一样创建数组
/* header.php (main header template)*/
<html>
<head>
...
</head>
<body>
<div id="mainMenu">
<?php echo Navigation::getNav($databaseCnx);?>
</div>
/*header.php(主标题模板)*/
...
在另一个脚本中,您必须创建一个管理数据的类
<?php
class Navigation{
static function getNav($cnx){
$menuList = '<ul>';
$dataFromDataBase = $cnx->getArray('MySqlRequest');
foreach($dataFromDataBase as $menu) {
$menuList .='<li><a href="'.$menu->uri.'">'.$menu->name.'</a></li>';
}
$menuList .= '</ul>';
return $menuList;
}
}
我同意第一种解决方案,即使它有点简单。对我来说,你必须将你的网站拆分成一些脚本,在其中包括导航脚本,就像第二个解决方案一样
/* header.php (main header template)*/
<html>
<head>
...
</head>
<body>
<div id="mainMenu">
<?php echo Navigation::getNav($databaseCnx);?>
</div>
但是,如果您真的想进行动态导航,您的数据不能写入文件,而是存储在数据库或xml文件中。。。。
要做到这一点,您必须创建一个类或函数来解析您的数据,并像第一个解决方案一样创建数组
/* header.php (main header template)*/
<html>
<head>
...
</head>
<body>
<div id="mainMenu">
<?php echo Navigation::getNav($databaseCnx);?>
</div>
/*header.php(主标题模板)*/
...
在另一个脚本中,您必须创建一个管理数据的类
<?php
class Navigation{
static function getNav($cnx){
$menuList = '<ul>';
$dataFromDataBase = $cnx->getArray('MySqlRequest');
foreach($dataFromDataBase as $menu) {
$menuList .='<li><a href="'.$menu->uri.'">'.$menu->name.'</a></li>';
}
$menuList .= '</ul>';
return $menuList;
}
}
我已经用我自己的风格完成了这项工作,但是对于我深入的每个子目录,我仍然需要循环和测试每个页面,这个导航取决于主机。我在xampp中经常遇到问题。您必须为此创建虚拟子域才能work@Oghenero您在多个子目录中有多个文件,但没有明确的列表,您需要脚本来动态浏览文件系统并找到它们?@Fanis“您可能需要查看@Sebastian P提供的链接问题”-我在另一个问题中发现了一个可能重复的问题。评论中的链接页面已被(当时的)版主删除。我以为你想知道,如果你想更新你的答案。@Fanis你可以在上面写评论,因为我做了编辑。注释中的链接已被删除。我已经以自己的风格完成了此操作,但对于深入的每个子目录,我仍然必须循环并测试每个页面,此导航取决于主机。我在xampp中经常遇到问题。您必须为此创建虚拟子域才能work@Oghenero您在多个子目录中有多个文件,但没有明确的列表,您需要脚本来动态浏览文件系统并找到它们?@Fanis“您可能需要查看@Sebastian P提供的链接问题”-我在另一个问题中发现了一个可能重复的问题。评论中的链接页面已被(当时的)版主删除。我以为你想知道,如果你想更新你的答案。@Fanis你可以在上面写评论,因为我做了编辑。注释中的链接已删除。