mysql怎么生成二级菜单

更新时间:01-26 教程 由 攻心 分享

MySQL是业界常用的关系型数据库管理系统,支持多种操作系统平台,如Windows、Linux、Unix等。在网站运营中,常常会需要使用MySQL来生成菜单,其中二级菜单是常见的需求。下面让我们通过代码演示来了解如何使用MySQL来生成二级菜单。

CREATE TABLE `menu` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) NOT NULL,`parent_id` int(11) NOT NULL DEFAULT '0',`url` varchar(255) NOT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `menu` (`id`, `name`, `parent_id`, `url`) VALUES(1, '首页', 0, '/index.html'),(2, '新闻', 0, '/news.html'),(3, '国内新闻', 2, '/news/domestic.html'),(4, '国际新闻', 2, '/news/international.html'),(5, '体育', 0, '/sports.html'),(6, '足球', 5, '/sports/football.html'),(7, '篮球', 5, '/sports/basketball.html');SELECT * FROM menu WHERE parent_id = 0;

以上代码将创建一个名为menu的表,这个表中包含了id、name、parent_id和url共4个字段,其中parent_id用于表示菜单的层级关系。如果一个菜单项是一级菜单,则parent_id为0;如果一个菜单项是二级菜单,则parent_id为对应的一级菜单的id。

为了生成二级菜单,我们需要使用MySQL的查询语句来选择所有parent_id为0的菜单项,然后遍历这些菜单项,并查询它们的子菜单。下面是示例代码:

$parent_menus = mysqli_query($conn, 'SELECT * FROM menu WHERE parent_id = 0');while ($parent = mysqli_fetch_assoc($parent_menus)) {echo $parent['name'] . ':';$sub_menus = mysqli_query($conn, 'SELECT * FROM menu WHERE parent_id = ' . $parent['id']);while ($sub = mysqli_fetch_assoc($sub_menus)) {echo '' . $sub['name'] . '';}echo '
';}

以上代码中,我们首先使用mysqli_query函数查询parent_id为0的菜单项。然后使用mysqli_fetch_assoc函数将查询结果中的每个菜单项保存到$parent变量中,并输出它们的名称。接着,我们再次使用mysqli_query查询每个一级菜单对应的二级菜单,并输出它们的名称和链接地址。

通过以上代码,我们可以使用MySQL生成带有二级菜单的网站菜单。MySQL作为一种高效、可靠的数据库管理系统,广泛应用于各种类型的网站建设中。

声明:关于《mysql怎么生成二级菜单》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2247851.html