Avatar billede lakild Nybegynder
04. februar 2001 - 11:29 Der er 28 kommentarer og
2 løsninger

Dropdownmenu fra DB

Hej
Er der nogen der har et eksempel på hvordan man laver en dropdownmenu a\'la www.tvdanmark.dk \'s - men hvor både hovedkategori og underkategori hentes i en access db ? (Jeg vil nu have menu\'en i venstre side i stedet for i toppen, - så bliver der bdre plads til menupunkter)
mvh
Lakild
Avatar billede brain Nybegynder
04. februar 2001 - 11:53 #1
Jeg skal nok lige lave en....
Avatar billede lakild Nybegynder
04. februar 2001 - 11:54 #2
Kanon...
Avatar billede sbarnney Nybegynder
04. februar 2001 - 12:22 #3
Farver og grafik kan du selv sætte ind.

Prøv dette:

<html>
<head>
<titel></title>
</head>
<body>
<style>

{ font-family: Verdana, Arial, sans-serif; font-size: 12px }
.popchr { visibility:hidden; font-size: 12px }
.gochr { visibility:visible; font-size: 12px}
A:Hover { color:FFFFFF; text-decoration:none; font-size: 12px}
A { color:800000; text-decoration:none font-size: 12px}
Body { background-color:#000080; color:white }
</style>

<script language=javascript>
function showObject() {
document.all.div1.className = \'gochr\';
}
function hideObject() {
document.all.div1.className = \'popchr\';
}
function showObject2() {
document.all.div2.className = \'gochr\';
}
function hideObject2() {
document.all.div2.className = \'popchr\';
}
function showObject3() {
document.all.div3.className = \'gochr\';
}
function hideObject3() {
document.all.div3.className = \'popchr\';
}
</script>
<Div align=\"right\">
<table>
<tr>
<td valign=\"top\">

<div style=\"background-color:#000080; width:140; font-size: 12px; margin:0px\" onmouseover=\"showObject()\" onmouseout=\"hideObject()\" >
<a href=http://hjem.get2net.dk/ahome/koder/javascript_rul_ned_liste_tekst.htm onmouseover=\"showObject()\" onmouseout=\"hideObject()\">Søg nu</a>
</div>

<div id=div1 onmouseover=\"showObject()\" onmouseout=\"hideObject()\" class=popchr style=\"background-color:#000080; width:140\">
<a href=http://www.altavista.com onmouseover=\"showObject()\" onmouseout=\"hideObject()\">Altavista</a><br>
<a href=http://www.edderkoppen.dk onmouseover=\"showObject()\" onmouseout=\"hideObject()\">Edderkoppen</a><br>
<a href=http://www.sol.dk onmouseover=\"showObject()\" onmouseout=\"hideObject()\">SOL</a><br>
<a href=http://www.krak.dk onmouseover=\"showObject()\" onmouseout=\"hideObject()\">KRAK</a><br>
<!-- linie for at udligne niveau -->
<font color=#000080>|</font>
</div>

</td><td valign=\"top\">

<div style=\"background-color:#000080; width:140; font-size: 12px; margin:0px\" onmouseover=\"showObject2()\" onmouseout=\"hideObject2()\" >
<a href=http://hjem.get2net.dk/ahome/koder/javascript_rul_ned_liste_tekst.htm onmouseover=\"showObject2()\" onmouseout=\"hideObject2()\">TEST</a>
</div>

<div id=div2 onmouseover=\"showObject2()\" onmouseout=\"hideObject2()\" class=popchr style=\"background-color:#000080; width:140\">
<a href=http://mini onmouseover=\"showObject2()\" onmouseout=\"hideObject2()\">test</a><br>
<a href=http://matbos onmouseover=\"showObject2()\" onmouseout=\"hideObject2()\">test</a><br>
<a href=http://lu onmouseover=\"showObject2()\" onmouseout=\"hideObject2()\">test</a><br>
<a href=http://test onmouseover=\"showObject2()\" onmouseout=\"hideObject2()\">test</a><br>
<a href=http://test2 onmouseover=\"showObject2()\" onmouseout=\"hideObject2()\">Test</a><br>
<a href=http://win2 onmouseover=\"showObject2()\" onmouseout=\"hideObject2()\">test</a><br>
<font color=#000080>|<Br>
|</font>
</div>

</td>
<td valign=\"top\">

<div style=\"background-color:#000080; width:140; font-size: 12px; margin:0px\" onmouseover=\"showObject3()\" onmouseout=\"hideObject3()\" >
<a href=http://hjem.get2net.dk/ahome/koder/javascript_rul_ned_liste_tekst.htm onmouseover=\"showObject3()\" onmouseout=\"hideObject3()\">Forskelligt</a>
</div>

<div id=div3 onmouseover=\"showObject3()\" onmouseout=\"hideObject3()\" class=popchr style=\"background-color:#000080; width:140\">
<a href=http://www.dr.dk/nyheder onmouseover=\"showObject3()\" onmouseout=\"hideObject3()\">DR Nyheder</a><br>
<a href=http://http://195.184.98.141/ onmouseover=\"showObject3()\" onmouseout=\"hideObject3()\">Eksperten</a><br>
<a href=http://www.eksperten.dk onmouseover=\"showObject3()\" onmouseout=\"hideObject3()\">Eksperten</a><br>
<a href=http://www.tvdanmark.dk onmouseover=\"showObject3()\" onmouseout=\"hideObject3()\">TV Danmark</a><br>
<a href=http://www.tv2.dk onmouseover=\"showObject3()\" onmouseout=\"hideObject3()\">TV</a><br>
<!-- linie for at udligne niveau -->
<font color=#000080>|<br>
|</font>
</div>

</td>
</tr>
</table>


MVH
Stig

P.S. Jeg hved godt det ikke ligefrem er ASP, men mere CSS, JScript og HTML. Men det er jo det det gerne vil have.
Avatar billede lakild Nybegynder
04. februar 2001 - 12:42 #4
Sbarnney: Fin menu, - men det som er afgørede er at både hovedkategori og underkategorier skal hentes i en access db
Avatar billede lakild Nybegynder
04. februar 2001 - 12:43 #5
Det er jo også primært dér at asp kommer ind i billedet...  ;-)
Avatar billede sbarnney Nybegynder
04. februar 2001 - 12:46 #6
Hej lakild - Det er også nemt nok. Hvis du connecter før menuen og bruger dette i stedet for.

DO WHILE NOT rs.EOF
%><a href=\"xxx.asp?id=<%=rs(\"kategoriid\")%><%=rs(\"kategori\")%></a><br><%
rs.MoveNext
LOOP

Så får du din menu fra din database.

Stig
Avatar billede lakild Nybegynder
04. februar 2001 - 12:49 #7
\"Nemt nok\" er jo relativt til øjnene der sér... Jeg er bestemt ingen asp-haj, -så der er ikke meget af dette der er \"nemt nok\"
Avatar billede sbarnney Nybegynder
04. februar 2001 - 12:52 #8
Hej igen - Du vil gerne have et helt eks. ikke sandt. Jeg lave et lille eks. som du selv kan tilføje flere koloner til. OK.

Stig
Avatar billede sbarnney Nybegynder
04. februar 2001 - 12:53 #9
Skal lige spise først, vender tilbage.

Stig
Avatar billede lakild Nybegynder
04. februar 2001 - 12:53 #10
Kanon - tak ! ( så behøver jeg ikke kradse mere hår af issen )
Avatar billede sbarnney Nybegynder
04. februar 2001 - 13:40 #11
Hej lakild - Jeg har ikke testet dette, jeg ved godt man skal...

Du må selv lige lave en database. Menuid er sat for at bestemme hvilke kolone menuen høre til.

<html>
<head>
<titel></title>
</head>
<body>
<style>

{ font-family: Verdana, Arial, sans-serif; font-size: 12px }
.popchr { visibility:hidden; font-size: 12px }
.gochr { visibility:visible; font-size: 12px}
A:Hover { color:FFFFFF; text-decoration:none; font-size: 12px}
A { color:800000; text-decoration:none font-size: 12px}
Body { background-color:#000080; color:white }
</style>

<script language=javascript>
function showObject() {
document.all.div1.className = \'gochr\';
}
function hideObject() {
document.all.div1.className = \'popchr\';
}
function showObject2() {
document.all.div2.className = \'gochr\';
}
function hideObject2() {
document.all.div2.className = \'popchr\';
}
function showObject3() {
document.all.div3.className = \'gochr\';
}
function hideObject3() {
document.all.div3.className = \'popchr\';
}
</script>
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Set rs = Server.CreateObject(\"ADODB.Recordset\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"database.mdb\")
SQL = \"SELECT * FROM tbl\"

rs.Open SQL, Conn
%>

<Div align=\"right\">
<table>
<tr>
<td valign=\"top\">

<div style=\"background-color:#000080; width:140; font-size: 12px; margin:0px\" onmouseover=\"showObject()\" onmouseout=\"hideObject()\" >
<a href=http://hjem.get2net.dk/ahome/koder/javascript_rul_ned_liste_tekst.htm onmouseover=\"showObject()\" onmouseout=\"hideObject()\">Søg nu</a>
</div>

<div id=div1 onmouseover=\"showObject()\" onmouseout=\"hideObject()\" class=popchr style=\"background-color:#000080; width:140\">
<%
If request(\"menuid\") = 1 Then
DO WHILE NOT rs.EOF
%>
<a href=\"http://<%=rs(\"side\")%> onmouseover=\"showObject2()\" onmouseout=\"hideObject2()\"><%rs(\"navn\")%></a><br>   
<%
rs.MoveNext
LOOP
End if
%>
<font color=#000080>|</font>
</div>

</td><td valign=\"top\">

<div style=\"background-color:#000080; width:140; font-size: 12px; margin:0px\" onmouseover=\"showObject2()\" onmouseout=\"hideObject2()\" >
<a href=http://hjem.get2net.dk/ahome/koder/javascript_rul_ned_liste_tekst.htm onmouseover=\"showObject2()\" onmouseout=\"hideObject2()\">SBSNT</a>
</div>

<div id=div2 onmouseover=\"showObject2()\" onmouseout=\"hideObject2()\" class=popchr style=\"background-color:#000080; width:140\">
<%
If request(\"menuid\") = 1 Then
DO WHILE NOT rs.EOF
%>
<a href=\"http://<%=rs(\"side\")%> onmouseover=\"showObject2()\" onmouseout=\"hideObject2()\"><%rs(\"navn\")%></a><br>   
<%
rs.MoveNext
LOOP
End If
%>
<font color=#000080>|<Br>
|</font>
</div>

</td>
<td valign=\"top\">

<div style=\"background-color:#000080; width:140; font-size: 12px; margin:0px\" onmouseover=\"showObject3()\" onmouseout=\"hideObject3()\" >
<a href=http://hjem.get2net.dk/ahome/koder/javascript_rul_ned_liste_tekst.htm onmouseover=\"showObject3()\" onmouseout=\"hideObject3()\">Forskelligt</a>
</div>

<div id=div3 onmouseover=\"showObject3()\" onmouseout=\"hideObject3()\" class=popchr style=\"background-color:#000080; width:140\">
<%
If request(\"menuid\") = 3 Then
DO WHILE NOT rs.EOF
%>
<a href=\"http://<%=rs(\"side\")%> onmouseover=\"showObject2()\" onmouseout=\"hideObject2()\"><%rs(\"navn\")%></a><br>   
<%
rs.MoveNext
LOOP
End If
%>
<font color=#000080>|<br>
|</font>
</div>
</td>
</tr>
</table>
</Div>
<%
RS.Close
conn.Close

Set conn = nothing
Set SQL = nothing
%>
</body>
</html>

Hvis det giver dig probelmer kan du oploaded det hele til mig på denne adr. ftp://lakild:lakild@212.10.34.90/, så skal jeg kigge på det.

Stig
Avatar billede lakild Nybegynder
04. februar 2001 - 19:05 #12
Tak, men jeg har måske ikke udtrykt mig klart nok ! Forestil dig en db med to tabeller. Den ene tabel kan vi kalde hovedkategorier. I tabellen findes f.ex. feltet hovedkatID og hovedkategori.
Den anden tabel kunne vi kalde underkategori med felterne UnderkatID, HovedkatID, Underkategori og UnderkategoriLink. Så vidt jeg kan se - så har din kode det sidste - altså underkategorierne  fra db, men hovedkategorierne er stadig statiske....... 
Avatar billede sbarnney Nybegynder
04. februar 2001 - 19:16 #13
Hej lakild - Læg din access database på min ftp server, så laver jeg det til dig. Med både hoved og under kategorier.

Stig

P.S. Til andre der kigger på denne senere, skal jeg nok lægge scriptet ind.
Avatar billede engrob Nybegynder
04. februar 2001 - 19:24 #14
Den virker jo ikke i netscape.
Avatar billede lakild Nybegynder
04. februar 2001 - 19:37 #15
Så nu ligger menu.mdb på ftp serveren.
Alle links er \"interne\" dvs. i rootweb.
På forhånd tusind tak
mvh
Lakid
PS.: Er der noget om engrob\'s kommentar
Avatar billede sbarnney Nybegynder
04. februar 2001 - 20:35 #16
lakild - Det bliver først i morgen. vedr. engrob, jeg har aldrig set scripet i netscape. Vil det betyde noget ??

Stig
Avatar billede brain Nybegynder
04. februar 2001 - 21:16 #17
Jeg har en på http://dev.jdn.dk, vil du have koden til den?
Avatar billede brain Nybegynder
04. februar 2001 - 21:16 #18
Det skal nok være http://dev.jdn.dk/menucont.asp
Avatar billede lakild Nybegynder
04. februar 2001 - 21:18 #19
Det ser rigtig godt ud..... Ja tak !!!
Avatar billede brain Nybegynder
04. februar 2001 - 21:20 #20
Der er en stak filer, så jeg skal bruge en e-mail...
Avatar billede lakild Nybegynder
04. februar 2001 - 21:24 #21
info@smfk.dk
Avatar billede sbarnney Nybegynder
05. februar 2001 - 17:23 #22
brain // Jeg er også meget interesseret i de filer. Det er altid rat med ny inspiration.

Mail addr. stig@barnney.dk

Stig
Avatar billede brain Nybegynder
05. februar 2001 - 18:31 #23
Er i din inbox....
Avatar billede brain Nybegynder
05. februar 2001 - 18:32 #24
Skal vi få lukket det her spørgsmål eller hvad?
Avatar billede sbarnney Nybegynder
05. februar 2001 - 18:46 #25
Sådan. Det er rent ud sagt \"ret godt\"
Det bliver sgu\' brain der løber med pointne.

Stig
Avatar billede lakild Nybegynder
05. februar 2001 - 18:55 #26
Tjo, men som jeg også skrev til dig på mail Brain, så har jeg ret store problemer med at tilpasse det omfattende script til mit formål. F.eks. er det nødvendigt at jeg får navigeringen i venstre side med knapperne under hinanden, og så er det også lidt usmart at hovednavigeringen bygger på billeder - Idéen med databasedesign ryger lidt i vasken hvis man hver gang der kommer en ny hovedkategori skal fremstille 2 billder (normal/mouseOver).... Derfor gik jeg og håbede på at du evt. ville svare på min mail, eller at sbarney kom med script bygget omkring den db jeg lagde på FTP-serveren i går. Hvis sbarney imidlertid ikke har planer om at komme med yderligere har du ret i at sp. kan lukkes... Hvad siger I til 50/50 ???  Uanset om der kommer mere skal I begge have 1000 tak for hjælpen
/Lakild
Avatar billede sbarnney Nybegynder
05. februar 2001 - 21:08 #27
Jeg må bryde sammen og tilstå. Jeg kan ikke lige få det til at virke, sådan som du gerne vil have det. Om du afslutter denne eller ej, så arbejder jeg vidre på det. Når jeg får det til at virke, vender jeg tilbage og høre om du stadig mangler menuen. Selvfølgelig bestemmer du selv om du på dette tidspunkt vil inkludere mig i din point fordeling.

Med venlig hilsen

Stig
Avatar billede brain Nybegynder
05. februar 2001 - 21:47 #28
For min skyld kan vi godt kalde det en deler....
Avatar billede lakild Nybegynder
05. februar 2001 - 23:20 #29
Det gør vi så.....
Avatar billede sbarnney Nybegynder
08. februar 2001 - 19:42 #30
Denne menu er en top menu. Den er ikke pæn som venstrestillet menu, Og køre ikke særligt godt i Netscape.

P.S. Undskyld det tog lidt tid, men jeg havde lidt problemer med denne menu.

<html>
<head>
    <titel>Dynamisk Menu</title>
</head>
<body>
<style>
.popchr { visibility:hidden;}
.gochr { visibility:visible;}
</style>
<script language=javascript> // Der skal være en´ Show og en´ Hide til hver kategori.
function showObject1() { document.all.div1.className = \'gochr\'; }
function hideObject1() { document.all.div1.className = \'popchr\'; }
function showObject2() { document.all.div2.className = \'gochr\'; }
function hideObject2() { document.all.div2.className = \'popchr\'; }
function showObject3() { document.all.div3.className = \'gochr\'; }
function hideObject3() { document.all.div3.className = \'popchr\'; }
function showObject4() { document.all.div4.className = \'gochr\'; }
function hideObject4() { document.all.div4.className = \'popchr\'; }
</script>
<%
dim dinConn, hovedRS, underRS, hovedSQL, underSQL
Set hovedRS = Server.CreateObject(\"ADODB.Recordset\")
Set dinConn = Server.CreateObject(\"ADODB.Connection\")
dinConn.Open \"DMenu\" \' Connection via ODBC til Access Menu.mdb
hovedSQL = \"SELECT * FROM hovedkategorier\"
hovedRS.open hovedSQL, dinConn
Response.write \"<table border=\'0\'><tr>\"
While Not hovedRS.eof
        set underRS = server.createobject(\"adodb.recordset\")
        underSQL = \"select * from Underkategorier where hovedkatid = \" & hovedRS(\"Hovedkatid\")
        underRS.open underSQL, dinConn
        response.write \"<td valign=\'top\' width=\'100\'><div onmouseover=\'showObject\" &  underRS(\"hovedkatid\") & \"()\' onmouseout=\'hideObject\" &  underRS(\"hovedkatid\") & \"()\'>\"
        response.write \"<a href=//www.mirocom.dk onmouseover=\'showObject\" &  underRS(\"hovedkatid\") & \"()\' onmouseout=\'hideObject\" &  underRS(\"hovedkatid\") & \"()\'>\" & hovedRS(\"hovedkategori\") & \"</a></div>\" 
            response.write \"<div id=div\" &  underRS(\"hovedkatid\") & \" onmouseover=\'showObject\" &  underRS(\"hovedkatid\") & \"()\' onmouseout=\'hideObject\" &  underRS(\"hovedkatid\") & \"()\' class=\'popchr\'>\"
            while not underRS.eof
                response.write \"<a href=http://www.\" &  underRS(\"Underkategorilink\") & \" onmouseover=\'showObject\" &  underRS(\"hovedkatid\") & \"()\' onmouseout=\'hideObject\" &  underRS(\"hovedkatid\") & \"()\'>\"& underRS(\"Underkategori\") &\"</a><br>\"
                underRS.movenext
            wend
        response.write \"</div><td>\"
        underRS.close   
        set underRS = Nothing
        hovedRS.movenext
wend
Response.write \"</td></tr></table>\"
hovedRS.close
set hovedRS = Nothing
dinConn.close
set dinConn = Nothing
%>
</body>
</html>

Med Venlig Hilsen

Stig
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester