//樹型目錄結構模板程式
- //菜單目錄庫欄位說明:
- //menu_id 功能表項目 id
- //menu 菜單名稱
- //menu_grade 菜單等級 1 為主菜單 2 為二級菜單 ........
- //menu_superior 上一級菜單 id 號
function my_menu($menu_content,$i,$menu_grade_temp,$menu_superior_temp)
- {
- global $PHP_SELF;
- $temp1=$menu_grade_temp+1;
- $menu_superior_temp_array=split("/",$menu_superior_temp);
- for ($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="localhost";
- $db_user="dkj";
- $db_password="123";
- $db_name="test";
- mysql_connect($db_host,$db_user,$db_password);
- mysql_select_db($db_name);
//從資料庫中取得資料
- $query_string="select * from menu order by 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);
/* 附資料庫結構及類比資料
- # 主機: localhost 資料庫 : test
- # 資料表的結構 'menu'
- CREATE TABLE menu (
- menu_id int(11) NOT NULL auto_increment,
- menu varchar(20) NOT NULL,
- menu_grade int(11) NOT NULL,
- menu_superior int(11) NOT NULL,
- UNIQUE menu_id (menu_id)
- );
# 匯出下面的資料庫內容 'menu'
- INSERT INTO menu VALUES( '1', '電腦', '1', '0');
- INSERT INTO menu VALUES( '2', '編程', '2', '1');
- INSERT INTO menu VALUES( '3', '網路', '2', '1');
- INSERT INTO menu VALUES( '4', 'PHP與MySql', '3', '2');
- INSERT INTO menu VALUES( '5', 'C語言', '3', '2');
- INSERT INTO menu VALUES( '6', '網頁製作', '3', '3');
- INSERT INTO menu VALUES( '7', 'TCP、IP協議', '3', '3');
- INSERT INTO menu VALUES( '8', '數學', '1', '0');
- INSERT INTO menu VALUES( '9', '高等數學', '2', '8');
- INSERT INTO menu VALUES( '10', '線性代數', '3', '9');
- INSERT INTO menu VALUES( '11', '離散數學', '3', '9');
- INSERT INTO menu VALUES( '12', '初等數學', '2', '8');
- INSERT INTO menu VALUES( '13', '文學', '1', '0');
- INSERT INTO menu VALUES( '14', '程式員之家', '2', '13');
- INSERT INTO menu VALUES( '15', 'php', '4', '4');
- INSERT INTO menu VALUES( '16', 'mysql', '4', '4');
- */
- ?>
複製代碼 |