PHP 三级动态导航是指在一个网站或应用中,通过 PHP 动态生成三级菜单导航栏。这种导航栏可以根据数据库中的数据动态生成,用户访问不同的页面时,导航栏的内容也会相应变化。
适用于需要频繁更新导航栏内容的网站或应用,如新闻网站、电商网站、社交平台等。
以下是一个基于数据库的 PHP 三级动态导航示例:
CREATE TABLE `nav_items` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parent_id` int(11) DEFAULT NULL,
`name` varchar(255) NOT NULL,
`url` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
);<?php
// 连接数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 获取所有导航项
$sql = "SELECT * FROM nav_items";
$result = $conn->query($sql);
$navItems = [];
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$navItems[$row['id']] = $row;
}
}
// 生成三级导航栏
function generateNav($items, $parentId = 0, $level = 0) {
$html = '';
foreach ($items as $item) {
if ($item['parent_id'] == $parentId) {
$html .= '<li>';
$html .= '<a href="' . $item['url'] . '">' . $item['name'] . '</a>';
if (isset($items[$item['id']])) {
$html .= '<ul>';
$html .= generateNav($items, $item['id'], $level + 1);
$html .= '</ul>';
}
$html .= '</li>';
}
}
return $html;
}
$conn->close();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>三级动态导航</title>
<style>
ul {
list-style-type: none;
padding: 0;
}
li {
margin-left: 20px;
}
</style>
</head>
<body>
<ul>
<?php echo generateNav($navItems); ?>
</ul>
</body>
</html>parent_id 和 id 字段的值正确。通过以上方法,可以有效地实现 PHP 三级动态导航,并解决常见的问题。
没有搜到相关的沙龙