New! 動態 N 階選單 By Dreamweaver & PHP MySQL 終極版
在許多場合中,動態的N階選單是個很好用的功能,例如出現選擇「郵遞區號」的場合,主選項選擇縣市、副選項則會出現所對應的縣市中鄉鎮的列表,或者是主選項選擇部門,副選項則可出現所對應部門內的所有職稱、人員等。
在這之前,一般在需要製作到相關功能時會求助到JavaScript,或者郵遞區號的選單可以找到Extension來使用,但這Extension實際上也是包裝著JavaScript,以這個方式有一個缺點就是日後管理不易、以及要修改為其他應用的時候麻煩,必須在原始程式碼的模式下按照原本的格式作修改,看著密密麻麻的原始碼還沒開始要改就已經頭昏眼花了。
今天要介紹的方式只讓各位自己修改原始程式碼「輸入11個英文字母」,其他的都是利用Dreamweaver MX 2004的內建功能組合起來,配合得則是PHP+MySQL,如果使用其他資料庫+其他語言來達成的話,則是大同小異的,這是第一次以「影像檔案」來做教學檔(你們聽不到我的聲音就是了),若有問題的話可以至討論區一個專屬的主題內討論。
首先在這先對資料庫介紹一下,這樣子應該有助於各位在接著下來看影片說故事。
基本上這個教學的資料庫是建立在一個資料庫(test)內含兩個資料表(main、sub)的基礎上。
main資料表:
|
欄位
|
型態
|
屬性
|
Null
|
預設值
|
附加
|
| tinyint(4) | 否 | auto_increment | |||
| tinytext | 否 |
|
ID
|
COLOR
|
|
1
|
黃色
|
|
2
|
紅色
|
|
3
|
綠色
|
sub資料表:
|
欄位
|
型態
|
屬性
|
Null
|
預設值
|
附加
|
| tinyint(4) | 否 | auto_increment | |||
| smallint(6) | 否 | 0 | |||
| tinytext | 否 |
|
ID
|
CLASS
|
SUB
|
|
1
|
1
|
香蕉
|
|
2
|
1
|
木瓜
|
|
3
|
1
|
香瓜
|
|
4
|
2
|
蕃茄
|
|
5
|
2
|
火龍果
|
|
6
|
3
|
芭樂
|
|
7
|
3
|
西瓜
|
這樣子大家應該很清楚了,main資料表的ID欄位,每一個ID各代表著一個顏色,而與mian.ID相對應的就是sub資料表的CLASS欄位,所以sub資料表中第一筆到第三筆資料中SUB欄位記錄的都是同樣外皮是「黃色」的水果(香瓜好像有點不像….)
總而言之就是要製作一個像這樣的選單#Sample Link,瞭解之後呢,就來看看影片檔案吧。
教學名稱:製作「動態二階選單」
影片長度:三分零九秒
影片大小:1689K
影片尺寸:640×480
( 用影片檔就是想少打點字,想不到還是得打這麼多><” )
–
影片中提到修改< option value=”menu.php?ID=< ? php echo $row_rsmain['ID'] ? >”部分
送進資料庫後值也是照單全收
因此跳頁部分要從內定產生之JavaScript著手
<script language=”JavaScript” type=”text/JavaScript”>
<!–
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+”.location=’”+’網頁.php?URL參數ID=‘+selObj.options[selObj.selectedIndex].value+”‘”);
if (restore) selObj.selectedIndex=0;
}
//–>
</script>







請問一下,如果我只要用一個資料表!來完成”動態兩階選單\”,有可能做得到嗎?
謝謝:?::?::?:
可以啊…你可以加一個欄位辨別是主還副
建立兩個資料集以這個為依據篩選
不過這個SQL可能要手動自己加了
sql要自己加,您是指sql的語法嗎?還是?
您指的主、副是指主所引及副所引嗎?
:?::?::?:
如果說要建立三階以上的動態選單,是不是也依照相同的作法呢?因為我有試過三階,再選第二階的時候第一階的資料重新顯示,第二階的資料不見了,感覺好像是又回到網頁第一次run的情形!不知要怎解決呢?
謝謝大大回應:neutral::neutral::neutral::lol::lol:
篩選資料集的部分
內建的圖形篩選介面只能篩一項
這樣看起來至少要多篩一項
如果你有書的話可以參考7-4小節的內容
要依樣畫葫蘆就是了
送出的URL變數也要增加…
讓選單能夠記錄選項…
嗯!大蓋了解您的意思!因本人是php的肉腳!才學不到一個月,drwemweave、mysql也都學不到一個月!如果大大有好的建意,可否提供一下,要重哪一本書學比較容易!謝謝
對了!請問一下是否有dreamweaver的書內容講解的比較詳細的!內部的功能也解得比較多的例如屬性、行為…之類的書!麻煩大大提供一下!謝謝,就依您是過來人的經驗告知小弟吧!:razz::razz::razz:
你你你你…太沒禮貌了..:wink: 你沒看到左邊sidebar的

實際如何你還是去書店翻翻吧 一本書不可能適合每一個人
抬面上也就是哪幾本書而已
您的教學影片我無法連結耶,請問還在嗎?
若不在了可否直接寄信給我,謝謝您…….
我找這個問題很久了………….急需解決方法……:cry::cry:
檔案存在沒問題啊
大大救命!! 我依照您教學的方式也加入了JAVA程式片段(我完全不懂JAVA)
可是我將動態選單(2階)傳回資料庫後第一階的東西不是我要的
以您的教學範例舉例 我的第一階寫入資料庫的值竟然是我的網頁名稱 不是寫入紅色或黃色 不知小弟哪裡出錯 請大大幫幫忙 感激不盡!!
JavaScript是修改原本就產生的
而不是新加上
< option value="menu.php?ID=< ? php echo $row_rsmain['ID'] ? >“
這邊就不要改了
在DW在跳頁選單中設對的 值 就是了
如果第一階要存入文字
Sub資料表可能要用顏色來分類而不是用CLASS來分類
(1=>黃、2=>紅、3=>綠)
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+”.location=’”+’main.php?Color=‘+selObj.options[selObj.selectedIndex].value+”’”);
相關的地方需要變通一下…
大大您好 我改好了
可是第一階寫入資料庫的值是ID(數字) 我想要讓她寫入的是COLOR(紅色,黃色,綠色)值 請問要從哪裡下手阿…拜託了!!
如果第一階要存入文字
Sub資料表可能要用顏色來分類而不是用CLASS來分類
(1=>黃、2=>紅、3=>綠)
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+”.location=’”+’main.php?Color=‘+selObj.options[selObj.selectedIndex].value+”’”);
相關的地方需要變通一下…
大大~~不行 (在網址列會呈現***網頁.php?coloc=紅色)他會傳回網頁錯誤 是不是篩選不支援中文阿 還是啥咪狀況 我有把CLASS的數字全改成中文的對應顏色
網際網路選項 進階 □永遠將URL傳遞成UTF8
用中文很容易出現問題
找其他方法變通吧
這樣會有麻煩喔
如果網頁有其他文字欄位有資料
選了下拉選單後,資料就無法保留了
http://cttlee.cc/2008/12/127.php