国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

使用"函數遞歸"實現基于php和MySQL的動態樹型菜單

2024-04-25 20:35:55
字體:
來源:轉載
供稿:網友

樹型菜單在很多桌面應用系統中都有非常廣泛的應用,其主要優點是結構清晰,利于使用者非常清楚的知道目前自己所在的位置。但在web上樹型菜單的應用因為沒有理想的現成組件可以拿過來直接使用,所以一般的情況下,程序員主要

樹型菜單在很多桌面應用系統中都有非常廣泛的應用,其主要優點是結構清晰,利于使用者非常清楚的知道目前自己所在的位置。但在web上樹型菜單的應用因為沒有理想的現成組件可以拿過來直接使用,所以一般的情況下,程序員主要是通過JavaScript來實現一些簡單的樹型結構菜單,但這些菜單往往都是事先定好各菜單項目,以及各菜單項目之間的層次關系,不利于擴充,一旦需要另一個菜單結構時,往往還需要重新編寫,因此使用起來不是很方便。

經過對函數遞歸的研究,我發現這種樹型菜單可以通過遞歸函數,使樹型菜單的顯示實現動態變化,并沒有級數的限制。下面就是我用php,MySQL,JavaScript寫的一個動態樹型菜單的處理代碼,如果大家有興趣的話,就和我一起來看看我是如何實現的吧:)

首先,我們需要一個數據庫,在這個數據庫中,我們建立以下一張表:

CREATE TABLE menu (

id tinyint(4) NOT NULL auto_increment,

parent_id tinyint(4) DEFAULT '0' NOT NULL,

name varchar(20),

url varchar(60),

PRIMARY KEY (id)

);

這張表中

id 為索引

parent_id 用來保存上一級菜單的id號,如果是一級菜單則為0

name 為菜單的名稱,也就是要在頁面上顯示的菜單內容

url 如果某菜單為末級菜單,則需要指定該連接的url地址,這個字段就是用來保存此地址的,其他非末級菜單,該字段為空

好了,數據庫有了,你就可以添加一些記錄了,下面是我做測試的時候,使用的一些記錄:

INSERT INTO menu VALUES ( '1', '0', '人事管理', '');

INSERT INTO menu VALUES ( '2', '0', '通訊交流', '');

INSERT INTO menu VALUES ( '3', '1', '檔案管理', '');

INSERT INTO menu VALUES ( '4', '1', '考勤管理', 'http://localhost/personal/attendance.php');

INSERT INTO menu VALUES ( '5', '2', '通訊錄', '');

INSERT INTO menu VALUES ( '6', '2', '網絡會議', '');

INSERT INTO menu VALUES ( '7', '3', '新增檔案', 'http://localhost/personal/add_achive.php');

INSERT INTO menu VALUES ( '8', '3', '查詢檔案', 'http://localhost/personal/search_archive.php');

INSERT INTO menu VALUES ( '9', '3', '刪除檔案', 'http://localhost/personal/delete_archive.php');

INSERT INTO menu VALUES ( '10', '5', '新增通訊記錄','http://localhost/communication/add_address.php');

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汨罗市| 吴川市| 阿城市| 手游| 翁牛特旗| 富锦市| 蒙阴县| 藁城市| 德阳市| 石河子市| 绥芬河市| 察哈| 嵊州市| 盐边县| 增城市| 嘉祥县| 明星| 当雄县| 邹城市| 焉耆| 东莞市| 思南县| 抚顺市| 丹棱县| 望都县| 吉林市| 南川市| 竹溪县| 舟山市| 四平市| 永德县| 黄石市| 上饶县| 稷山县| 嘉定区| 贵州省| 通道| 大同县| 甘孜县| 宁阳县| 太和县|