新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
MySQL實(shí)現(xiàn)上下級(jí)菜單
在MySQL中實(shí)現(xiàn)上下級(jí)菜單,我們可以使用遞歸查詢,我們需要?jiǎng)?chuàng)建一個(gè)表來存儲(chǔ)菜單信息,包括菜單ID、菜單名稱和父菜單ID,我們可以使用遞歸查詢來獲取所有菜單及其子菜單。

創(chuàng)新互聯(lián)專注于六枝企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),成都商城網(wǎng)站開發(fā)。六枝網(wǎng)站建設(shè)公司,為六枝等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
1、創(chuàng)建菜單表:
CREATE TABLEmenu(idint(11) NOT NULL AUTO_INCREMENT,namevarchar(255) NOT NULL,parent_idint(11) DEFAULT NULL, PRIMARY KEY (id), FOREIGN KEY (parent_id) REFERENCESmenu(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2、插入菜單數(shù)據(jù):
INSERT INTOmenu(name,parent_id) VALUES ('首頁', NULL), ('產(chǎn)品', 1), ('新聞', 1), ('關(guān)于我們', 1), ('聯(lián)系我們', 1), ('產(chǎn)品1', 2), ('產(chǎn)品2', 2), ('產(chǎn)品3', 2), ('新聞1', 3), ('新聞2', 3), ('新聞3', 3), ('關(guān)于我們1', 4), ('關(guān)于我們2', 4), ('關(guān)于我們3', 4), ('聯(lián)系我們1', 5), ('聯(lián)系我們2', 5), ('聯(lián)系我們3', 5);
3、使用遞歸查詢獲取所有菜單及其子菜單:
WITH RECURSIVE menu_hierarchy AS ( SELECT id, name, parent_id FROM menu WHERE parent_id IS NULL UNION ALL SELECT m.id, m.name, m.parent_id FROM menu m INNER JOIN menu_hierarchy mh ON m.parent_id = mh.id ) SELECT * FROM menu_hierarchy;
這個(gè)查詢將返回一個(gè)包含所有菜單及其子菜單的列表,你可以根據(jù)需要修改查詢以適應(yīng)你的應(yīng)用程序。
本文名稱:MySQL實(shí)現(xiàn)上下級(jí)菜單
文章URL:http://www.dlmjj.cn/article/copecsc.html


咨詢
建站咨詢
