Hi,
I managed to make the Switch Menu into a dynamic menu driven in ASP and Access database. The only problem is how to make it so that when more than one items
are added in the sub-category table to show under each category in the frontend. For example, if you look at About Software category, the sub-category
consists of 3 items: cognos, oracle, and webfocus. On the frontend, when clicked on it's just showing webfocus. How can I make it so that it will display
all 3 items on the frontend based on the database? Do I need to apply a Loop in the asp to make this work? If so, how to write this code in asp? Here's the code below with database file attached.
The line that's bolded is where the items are added in the sub-category.
<%
Dim Dbq, Dsn, Dc
Dim rsCat, rsSubCat
Dim sCatName, sSubCatName, sLink
Dbq = Server.MapPath(".\") & "\left_nav_menu_dse.mdb;"
Dsn = "driver={Microsoft Access Driver (*.mdb)};pwd=;Dbq=" & Dbq
Set Dc = Server.CreateObject("ADODB.Connection")
Dc.Open Dsn
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<meta name="generator" content="Adobe GoLive 6">
<title>nav_page</title>
<link rel="stylesheet" type="text/css" href="/ncdss_web_dev/css/left_nav_switch.css" />
<style type="text/css" media="screen"><!--
#leftnav { position: absolute; z-index: 5; top: 50px; left: 1px; width: 186px; height: 516px; visibility: visible; display: block }
#pic { position: absolute; top: 0px; left: 1px; width: 195px; height: 50px; visibility: visible; display: block }
--></style>
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of
http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit
http://www.dynamicdrive.com/ for full source code
***********************************************/
var persistmenu="yes" //"yes" or "no". Make sure each SPAN content contains an incrementing ID starting at 1 (id="sub1", id="sub2", etc)
var persisttype="sitewide" //enter "sitewide" for menu to persist across site, "local" for this page only
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu1(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("leftnav").getElementsByTa gName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="leftnavsubmenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(off set, end))
}
}
return returnvalue;
}
function onloadfunction(){
if (persistmenu=="yes"){
var cookiename=(persisttype=="sitewide")? "switchmenu" : window.location.pathname
var cookievalue=get_cookie(cookiename)
if (cookievalue!="")
document.getElementById(cookievalue).style.display ="block"
}
}
function savemenustate(){
var inc=1, blockid=""
while (document.getElementById("sub"+inc)){
if (document.getElementById("sub"+inc).style.display= ="block"){
blockid="sub"+inc
break
}
inc++
}
var cookiename=(persisttype=="sitewide")? "switchmenu" : window.location.pathname
var cookievalue=(persisttype=="sitewide")? blockid+";path=/" : blockid
document.cookie=cookiename+"="+cookievalue
}
if (window.addEventListener)
window.addEventListener("load", onloadfunction, false)
else if (window.attachEvent)
window.attachEvent("onload", onloadfunction)
else if (document.getElementById)
window.onload=onloadfunction
if (persistmenu=="yes" && document.getElementById)
window.onunload=savemenustate
</script>
</head>
<body bgcolor="#ffffff">
<!--------Switch Menu---------->
<div id="leftnav">
<%
Set rsCat = Dc.Execute("SELECT * FROM CATEGORY")
While Not rsCat.EOF
sCatName = rsCat("NAME")
sCatSubNum = rsCat("SUB_NUM")
%>
<div class="menutitle1"
onclick="SwitchMenu1('sub<%=sCatSubNum%>')"><img src="/ncdss_web_dev/images/img_arrow_red.gif" alt="" height="12" width="12" border="0"><%=sCatName%></div>
<%
Set rsSubCat = Dc.Execute("SELECT * FROM SUB_CATEGORY WHERE CATID=" & rsCat(0))
While Not rsSubCat.EOF
sSubCatName = rsSubCat("NAME")
sLink = rsSubCat("LINK")
sSubCatSubNum = rsSubCat("SUB_NUM")
%>
<span class="leftnavsubmenu"
id="sub<%=sSubCatSubNum%>">
<a href="<%=sLink%>" target="_parent"><%=sSubCatName%></a>
</span>
<%rsSubCat.MoveNext%>
<%Wend%>
<%rsCat.MoveNext%>
<%Wend%>
</div>
<!--------End Switch Menu---------->
<!--------Top Left Pic---------->
<div id="pic"><img src="/ncdss_web_dev/images/img_dse_select_topic_people.jpeg" alt="" height="50" width="195" border="0"></div>
<!--------End---------->
</body>
</html>
I would really appreciated any help or advise anyone can provide.
Regards,
Gary