//트리 디렉토리 구조 템플릿 프로그램
//메뉴 카탈로그 필드 설명:
//menu_id 메뉴 항목 ID
//메뉴 메뉴 이름
//menu_grade 메뉴 레벨 1이 주 메뉴이고 2가 보조 메뉴입니다.....
//menu_superior 이전 메뉴 ID 번호
함수 my_menu($menu_content,$i,$menu_grade_temp,$menu_superior_temp)
{
글로벌 $php_SELF
$temp1=$menu_grade_temp+1
$menu_superior_temp_array=split("/",$menu_superior_temp)
($t=0;$t<$i;$t++)
{
$menu_array=split("/",$menu_content[$t]);
If(($menu_array[2]==$menu_grade_temp)&&($menu_array[3]==$menu_superior_temp_array[$menu_grade_temp-1]))
~
for($p=1;$p<=$menu_grade_temp;$p++){echo " ";}
$temp3=$menu_superior_temp_array;
$temp3[$menu_grade_temp]=$menu_array[0];
$temp2=implode("/",$temp3);
If ($menu_array[0]==$menu_superior_temp_array[$temp1-1])
$temp5=$temp1-1;
$temp3[$menu_grade_temp]="";
$temp6=implode("/",$temp3);
echo "
$menu_array[1]"
My_menu($menu_content,$i,$temp1,$temp2)
~
else
$temp3[$menu_grade_temp+1]=""";
$temp6=implode("/",$temp3);
echo "
$menu_array[1]"
~
~
}
}
// MySQL 데이터베이스에 연결
$db_host="로컬호스트"
$db_user="dkj"
$db_passWord="123"
$db_name="테스트"
mysql_connect($db_host,$db_user,$db_password)
mysql_select_db($db_name)
//데이터베이스에서 데이터 가져오기
$query_string="menu_grade별로 메뉴 순서에서 *를 선택하세요";
$db_data=mysql_query($query_string)
//최초 초기화 실행
if ($menu_grade_temp=="")
{
$menu_superior_temp=0
}
//모든 정보를 배열로 읽고 배열 수를 계산합니다.
$i=0
while (list($menu_id,$menu,$menu_grade,$menu_superior)=mysql_fetch_row($db_data))
{
$menu_content[$i]=$menu_id."/".$menu."/".$menu_grade."/".$menu_superior;
$i++
}
my_menu($menu_content,$i,1,$menu_superior_temp)
/* 첨부된 데이터베이스 구조 및 시뮬레이션 데이터
# phpMyAdmin MySQL-Dump
#
# 호스트: localhost 데이터베이스: test
#------------------------------------------------ - ------
#
# 데이터 테이블 '메뉴'의 구조
#
CREATE TABLE 메뉴(
menu_id int(11) NOT NULL auto_increment,
메뉴 varchar(20) NOT NULL,
menu_grade int(11) NULL이 아님,
menu_superior int(11) NULL이 아님,
고유한 menu_id(menu_id)
);
#
# 다음 데이터베이스 콘텐츠 '메뉴' 내보내기
#
INSERT INTO 메뉴 VALUES('1', '컴퓨터', '1', '0')
INSERT INTO 메뉴 VALUES('2', '프로그래밍', '2', '1')
INSERT INTO 메뉴 VALUES('3', '네트워크', '2', '1')
INSERT INTO 메뉴 VALUES('4', 'PHP 및 MySql', '3', '2')
INSERT INTO 메뉴 VALUES('5', 'C 언어', '3', '2')
INSERT INTO 메뉴 VALUES('6', '웹페이지 제작', '3', '3')
INSERT INTO 메뉴 VALUES('7', 'TCP, IP 프로토콜', '3', '3')
INSERT INTO 메뉴 VALUES('8', '수학', '1', '0')
INSERT INTO 메뉴 VALUES( '9', '고급 수학', '2', '8')
INSERT INTO 메뉴 VALUES('10', '선형 대수', '3', '9')
INSERT INTO 메뉴 VALUES('11', '이산 수학', '3', '9')
INSERT INTO 메뉴 VALUES('12', '초등 수학', '2', '8')
INSERT INTO 메뉴 VALUES('13', '문학', '1', '0')
INSERT INTO 메뉴 VALUES('14', '중국 문학', '2', '13')
INSERT INTO 메뉴 VALUES('15', 'php', '4', '4')
INSERT INTO 메뉴 VALUES('16', 'mysql', '4', '4')
*/
?>
이상에서는 PHP를 사용하여 다단계 트리 메뉴 기능을 구현하는 방법과 관련 측면을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.