三層式菜單第三層的語法

戀晴天
請教各位先進
第三層要如何寫才能正確顯示
執行結果:


資料庫結構如下
f_client 資料表
sn 自動編號
f_clientid 文字
f_clientname 文字

f_origin 資料表
sn 自動編號
f_clientid 文字
f_originid 文字
f_originname 文字

f_fruit 資料表
sn 自動編號
f_fruitid
f_clientid 文字
f_originid 文字
f_fruitname 文字

f_tax 資料表
sn 自動編號
f_fruitsn 數字
taxA 文字

程式碼:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="950"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!--#include file="Connections/env.asp" -->
<%
Set Conn = Server.CreateObject("ADODB.Connection")
conn.open connOpen

Sqlstr="select f_client.*, f_origin.*"
SQLstr = SQLstr + "FROM f_origin INNER JOIN f_client ON f_origin.f_clientid = f_client.f_clientid"
SQLstr = SQLstr + " order by right(('000'+f_client.f_clientid),3) ,right(('0000'+f_origin.f_originid),3) "
set rs1 = conn.execute(SQLstr)

SQLstr = " SELECT f_client.*, f_origin.*, f_fruit.*, f_tax.* "
SQLstr = SQLstr + "FROM f_tax INNER JOIN (f_origin INNER JOIN (f_client INNER JOIN f_fruit ON f_client.f_clientid = f_fruit.f_clientid) ON f_origin.f_originid = f_fruit.f_originid) ON f_tax.f_fruitsn = f_fruit.sn "
SQLstr = SQLstr + " WHERE ((f_tax.taxA)='1')"
SQLstr = SQLstr + " order by right(('000'+f_client.f_clientid),3) , right(('000'+f_origin.f_originid),3), right(('000'+f_fruit.f_fruitid),3) "
set rs = conn.execute(SQLstr)
%>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5" />
<title>tree</title>

<script>

function hiddenUL(ULObjID){
ULObj = document.getElementById(ULObjID);
if (ULObj.className=='subnavlist'){
ULObj.className='subnavliston';
}
else
{
ULObj.className='subnavlist';
}
}

function hiddenUL(ULObjID1){
ULObj1 = document.getElementById(ULObjID1);
if (ULObj1.className=='factlist'){
ULObj1.className='factliston';
}
else
{
ULObj1.className='factlist';
}
}

</script>

</head>

<body style="overflow:scroll">
<div class="menu">

<ul>
<%
do while not rs1.eof
tempf_clientid = rs1("f_clientid").value
nowf_clientid = tempf_clientid
%>
<li id="fact<%=rs1("f_clientid").value%>" class="factlist"><a href="#" ><%=rs1("f_clientname").value%></a>
<ul>
<% do while tempf_clientid = nowf_clientid%>
<li id="sub<%=rs1("f_originid").value%>" class="subnavlist"><a href="#" ><%=rs1("f_originname").value%></a>
<ul>

<li><a href="#" id="connect1" onclick="'<%=rs("f_fruitid").value%>');" ><%=rs("f_fruitname").value%></a></li>

</ul>

<%
rs1.movenext
if rs1.eof then
nowf_clientid = ""
else
nowf_clientid = rs1("f_clientid").value
end if
loop%>

</li>
</ul>

</li>
<%loop%>
</ul>

</div>

</body >
</html>

執行結果:
˙復興
。泰國
·榴槤
。印尼
·榴槤

。馬來西亞
·榴槤
。越南
·榴槤
˙三兄弟
。高雄
·榴槤
。嘉義
·榴槤
。雲林
·榴槤
。台東
·榴槤
˙全方位
。美國
·榴槤
。澳洲
·榴槤
。日本
·榴槤
。韓國
·榴槤
。英國
·榴槤
˙里民
。高雄
·榴槤
。台南
·榴槤
。彰化
·榴槤
˙全代
。苗栗
·榴槤
。嘉義
·榴槤







最有價值解答

想睡覺
還記得以前三層式表單不會時 搞到快企笑
現在回想起來 真的有點好笑

其實只要帶上一層的id就可以了

第一層

food -- 資料表

f_id -- 自動編號
f_name -- 品名


第二層
city --資料表

c_id 自動編號
city_name -- 來源地名稱
f_id -- food的自動編號

第三層 ~ 第n層 以此類推
想睡覺
我看您的資料庫欄位並沒有上一層的id 您可以往這一方向試看看

另外 關於sql 的部份 可能要學一下 對以後會比較有幫助
回到頂部