当前位置:首页 > 行业动态 > 正文

php 数据库 mysql导航菜单_导航菜单配置

在PHP中,我们通常使用MySQL数据库来存储和管理导航菜单的配置信息,以下是一个简单的例子:

我们需要创建一个数据库表来存储导航菜单的信息,这个表可能包含以下字段:id(唯一标识符),title(菜单项的标题),url(菜单项链接的URL),parent_id(父菜单项的ID,用于表示菜单项的层级关系)。

CREATE TABLE navigation (
  id int(11) NOT NULL AUTO_INCREMENT,
  title varchar(255) NOT NULL,
  url varchar(255) NOT NULL,
  parent_id int(11) DEFAULT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

我们可以使用PHP的PDO或mysqli扩展来查询数据库并生成导航菜单,以下是一个简单的例子:

<?php
$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');
$sql = "SELECT * FROM navigation WHERE parent_id IS NULL";
$parents = $pdo>query($sql)>fetchAll();
foreach ($parents as $parent) {
    echo '<li>'.$parent['title'];
    
    $sql = "SELECT * FROM navigation WHERE parent_id = ".$parent['id'];
    $children = $pdo>query($sql)>fetchAll();
    
    if (!empty($children)) {
        echo '<ul>';
        foreach ($children as $child) {
            echo '<li><a href="'.$child['url'].'">'.$child['title'].'</a></li>';
        }
        echo '</ul>';
    }
    
    echo '</li>';
}
?>

在这个例子中,我们首先查询出所有的父菜单项(即parent_id为NULL的菜单项),然后对于每个父菜单项,我们再查询出它的所有子菜单项(即parent_id等于父菜单项id的菜单项),并生成相应的HTML代码。

0