Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


UL Meny kopplad till databas

Postades av 2006-02-01 11:09:14 - Johan Moberg, i forum asp - allmänt, Tråden har 1 Kommentarer och lästs av 511 personer

Hej!

Jag håller på att försöka göra en meny som är uppbyggd av en punktlista och där varje menyval ska hämtas från en databas (access). Jag har letat här på pellesoft och hittat en kodsnutt som jag har modifierat lite och ul listan skrivs ut precis som den ska.

Men nu har jag kommit till problemet att jag vill att underkategorierna endast ska visas när man klickar på en huvudkategori och klickar man på en annan huvudkategori så ska de underkategorier som var öppna stängas och de nya visas osv. den ska med andra ord fungera precis som alla andra "träd menyer", ni förstår säkert hur jag menar.

Är det någon som vet hur man skulle kunna göra detta? det spelar ingen roll om visningen, dvs. öppna/stäng funktionen görs med ASP eller JavaScript, bara de fungerar.

Databasen ser ut enligt följande:

catID | parentID | catName


Så här ser koden ut:

<%
Function WriteMenu(Connect, Parent)
Dim rsTemp, fldID, fldNamn, fldSubMenus, vID, vText, vSubMenus

If Parent <> 0 Then
Set rsTemp = Connect.Execute("Select *, (Select Count(*) From t_categories as SubMenu Where SubMenu.parentID = t_categories.catID) as SubMenus From t_categories Where t_categories.parentID = " & Parent)
Else
Set rsTemp = Connect.Execute("Select *, (Select Count(*) From t_categories as SubMenu Where SubMenu.parentID = t_categories.catID) as SubMenus From t_categories Where t_categories.parentID Is Null")
End If

If Not rsTemp.EOF Then
Set fldID = rsTemp("catID")
Set fldNamn = rsTemp("catName")
Set fldSubMenus = rsTemp("SubMenus")
Response.Write vbCrLf &"<ul>"& vbCrLf
Do
vID = fldID
vText = fldNamn
vSubMenus = fldSubMenus
rsTemp.MoveNext
Response.Write "<li>"& vText &""
If vSubMenus > 0 Then
WriteMenu Connect, vID
End If
Response.Write "</li>"& vbCrLf
Loop Until rsTemp.EOF
Response.Write "</ul>"& vbCrLf
End if
rsTemp.Close
End Function

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("menu_db.mdb")

WriteMenu Connect, 0

Connect.Close : Set Connect = Nothing
%>

Vore väldigt tacksam om jag kunde få hjälp med detta.

Tack på förhand
MVH / Johan


Svara

Sv: UL Meny kopplad till databas

Postades av 2006-02-05 14:31:59 - Hans Ekgrund

Vad tror du om detta:
<code>
<SCRIPT>
function meny(obj) {
if(obj.style.display=='none'){
obj.style.display=''
} else {
obj.style.display='none'
}
}
</SCRIPT>
<%

Function WriteMenu(Connect, Parent, niva)
Dim rsTemp, fldID, fldNamn, fldSubMenus, vID, vText, vSubMenus, fldParentID, tmpMeny
If Parent <> 0 Then
Set rsTemp = Connect.Execute("Select *, (Select Count(*) From t_categories as SubMenu Where SubMenu.parentID = t_categories.catID) as SubMenus From t_categories Where t_categories.parentID = " & Parent)
Else
Set rsTemp = Connect.Execute("Select *, (Select Count(*) From t_categories as SubMenu Where SubMenu.parentID = t_categories.catID) as SubMenus From t_categories Where t_categories.parentID Is Null")
End If
If Not rsTemp.EOF Then
Set fldID = rsTemp("catID")
Set fldNamn = rsTemp("catName")
Set fldSubMenus = rsTemp("SubMenus")
Set fldParentID = rsTemp("parentID")
Do
vID = fldID
vText = fldNamn
vSubMenus = fldSubMenus
tmpMeny = "m" & fldID & "m" & fldParentID
rsTemp.MoveNext
Response.Write "<span OnClick=""meny(" & tmpMeny & ")"">"
For a = 0 to niva
Response.Write "&nbsp;"
Next
Response.Write "+</span>"
Response.Write vText
Response.Write "<br>"
If vSubMenus > 0 Then
Response.write "<span style=""display: none"" id=""" & tmpMeny & """>"
WriteMenu Connect, vID, (niva + 1)
Response.write "</span id=""" & tmpMeny & """>"
End If
Loop Until rsTemp.EOF
End if
rsTemp.Close
End Function

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("\db\KH.mdb")

Dim lopNummer
lopNummer = 0
WriteMenu Connect, 0, 0

Connect.Close : Set Connect = Nothing
%>


</code>

Har tagit bort listan, efterson den strulade till det med funktionen för att visa och dölja menypunkten.
Ersatte detta med [niva] för att hålla reda på vilken nivå som menyn 'befinner sig på'.

Körde med det enkla <code>&nbsp;</code>, men det går ju fint att byta mot bilder om man vill ha lite trevliga effekter....


Fick också läsa in parentID från databasen för att få till unika ID på menypunkterna.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 601
27 953
271 705
4 109
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies