트 리 메뉴 는 많은 데스크 톱 응용 시스템 에서 광범 위 하 게 응용 되 는데 그 주요 장점 은 구조 가 뚜렷 하고 사용자 가 현재 자신의 위 치 를 잘 알 수 있다 는 것 이다.그러나 웹 에서 트 리 메뉴 의 응용 은 이상 적 인 기 존 구성 요 소 를 가 져 와 서 직접 사용 할 수 없 기 때문에 일반적인 상황 에서 프로그래머 들 은 주로 자바 스 크 립 트 를 통 해 간단 한 트 리 구조 메뉴 를 실현 하지만 이런 메뉴 들 은 각 메뉴 항목 과 각 메뉴 항목 간 의 차원 관 계 를 미리 정 하여 확장 에 불리 하 다.다른 메뉴 구조 가 필요 할 때 다시 작성 해 야 하기 때문에 사용 하기 가 쉽 지 않 습 니 다. 함수 재 귀 에 대한 연 구 를 통 해 나 는 이런 트 리 메뉴 는 재 귀 함 수 를 통 해 트 리 메뉴 의 표 시 를 동태 적 으로 변화 시 킬 수 있 고 급수 적 인 제한 이 없다 는 것 을 발견 했다.다음은 제 가 phop,MySQL,JavaScript 로 쓴 동적 트 리 메뉴 의 처리 코드 입 니 다.관심 이 있 으 시 면 저 와 함께 제 가 어떻게 실현 하 는 지 보 세 요.)우선 데이터 베 이 스 를 필요 로 합 니 다.이 데이터 베이스 에서 다음 표 를 만 듭 니 다.CREATE TABLE menu(id tinyint(4)NOT NULL autoincrement, parent_id tinyint(4) DEFAULT '0' NOT NULL, name varchar(20), url varchar(60), PRIMARY KEY (id) ); 이 표 의 id 는 색인 parent 입 니 다.id 는 이전 메뉴 의 id 번 호 를 저장 하 는 데 사 용 됩 니 다.1 급 메뉴 라면 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'); INSERT INTO menu VALUES('11','5','통신 기록 조회',http://localhost/communication/search_address.php'); INSERT INTO menu VALUES('12','5','통신 기록 삭제',http://localhost/communication/delete_address.php'); INSERT INTO menu VALUES('13','6','회의 개최','http://localhost/communication/convence_meeting.php'); INSERT INTO menu VALUES('14','6','회의 조회','http://localhost/communication/search_meeting.php'); 기록 을 추가 할 때 1 급 메뉴 가 아 닌 parent 에 주의해 야 합 니 다.id 는 반드시 상위 메뉴 의 ID 번 호 를 지정 해 야 합 니 다.그렇지 않 으 면 메뉴 가 표시 되 지 않 습 니 다:)됐 습 니 다!데이터베이스 가 생 겼 습 니 다.다음은 php 를 통 해 JavaScript 에서 메뉴 를 데이터베이스 에서 읽 고 표시 합 니 다.)1.JavaScript 스 크 립 트:function Show Menu(MenuID){if(MenuID.style.display==none){MenuID.style.display=";}else { MenuID.style.display="none"; } } 이 스 크 립 트 는 간단 합 니 다.메뉴 를 클릭 한 이벤트 에 응답 하 는 데 사 용 됩 니 다.2.CSS 파일:TD{FONT-FAMILY:"Verdana","송 체";FONT-SIZE: 12px; LINE-HEIGHT: 130%; letter-spacing:1px } A:link{COLOR:\#990000;FONT-FAMILY:"Verdana","송 체";FONT-SIZE: 12px; TEXT-DECORATION: none; letter-spacing:1px } A:visited { COLOR: #990000; FONT-FAMILY:"Verdana","송 체";FONT-SIZE: 12px; TEXT-DECORATION: none; letter-spacing:1px } A:active { COLOR: #990000; FONT-FAMILY:"Verdana","송 체";FONT-SIZE: 12px; TEXT-DECORATION: none; letter-spacing:1px } A:hover { COLOR: #ff0000; FONT-FAMILY:"Verdana","송 체";FONT-SIZE: 12px; TEXT-DECORATION: underline; letter-spacing:1px } .Menu{COLOR:\#000000;FONT-FAMILY:"Verdana","송 체";FONT-SIZE: 12px; CURSOR:hand}은 글꼴,색상,슈퍼 연결 스타일 등 기본 적 인 스타일 정 보 를 정 의 했 습 니 다.스타일 을 바 꾸 고 싶다 면 여 기 를 수정 하면 됩 니 다!3、다음은 나의 php 페이지 입 니 다! 0) ShowTreeMenu($Con,$result,$layer,$ID); //============================================= //디 스 플레이 트 리 메뉴 함수 Show TreeMenu($con,$result,$layer)//$con:데이터베이스 연결//$result:표시 할 메뉴 기록 집합//layer:표시 할 메뉴 의 급수//======================================================function Show TreeMenu($Con,$result,$layer){//표시 할 메뉴 의 항목 수$numrows=mysqlnum_rows($result); //메뉴 를 표시 하기 시작 하면 모든 하위 메뉴 는 하나의 표 로 echo""을 표시 합 니 다.for($rows=0;$rows<$numrows;$rows+){//현재 메뉴 항목 의 내용 을 배열$menu=mysql 가 져 오기fetch_array($result); //추출 메뉴 항목 의 하위 메뉴 기록 집합$sql="select*from menu where parentid=$menu[id]"; $result_sub=mysql_query($sql,$Con); echo ""; //이 메뉴 항목 에 하위 메뉴 가 있 으 면 자 바스 크 립 트 onClick 문장 if(mysqlnum_rows($result_sub)>0) { echo ""; echo ""; echo " "; //이 메뉴 항목 에 하위 메뉴 가 있 으 면 하위 메뉴 if(my sqlnum_rows($result_sub)>0){//이 하위 메뉴 의 ID 와 style 을 지정 하여 onClick 구문 과 echo"";echo ""; echo ""; } //다음 메뉴 항목 을 계속 표시 합 니 다}echo"
"; } else { echo "
"; } //이 메뉴 항목 에 하위 메뉴 가 없고 슈퍼 연결 주 소 를 지정 하면 슈퍼 연결 로 지정 합 니 다.//그렇지 않 으 면 메뉴 이름 if($menu[url]!=")만 표 시 됩 니 다.echo "$menu[name]"; else echo $menu[name]; echo "
"; //레벨 수 1$layer++;/ShowTreeMenu()함 수 를 재 귀적 으로 호출 하여 하위 메뉴 ShowTreeMenu($Con,$result 생 성sub,$layer); //하위 메뉴 처리 가 완료 되 었 습 니 다.재 귀적 인 윗 층 으로 돌아 가 레벨 을 1$layer-;echo "
";}?>위 에 있 는 php 페이지 에서 저 는 함수 Show TreeMenu()를 정 의 했 습 니 다.이 함수 호출 을 통 해 데이터베이스 에서 모든 메뉴 항목 을 재 귀적 으로 호출 하고 페이지 에 표 시 됩 니 다.)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: