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


Menyloop??

Postades av 2002-03-03 17:02:50 - Åsa Gruvsjö, i forum asp - allmänt, Tråden har 20 Kommentarer och lästs av 646 personer

Jag skulle behöva lite hjälp!

Tänkte göra en meny där man lagrar id, uid, namn och länk.

Sen ska man med loopar skriva ut alla länkar på sidan så här:

Mig (id1 - uid 0)
--Ålder (id2 - uid 1)
----22 (id3 - uid 2)
--Bor (id4 - uid 1)
Annat (id5 - uid 0)
--Djur (id6 - uid 1)
----Katt (id7 - uid 6)
------Chips (id8 - uid 7)
Nöje (id9 - uid 0)

Hur ser loopen ut då??

OCh sen skulle jag vilja ha så man klickar på Mig då syns Ålder och Bor som underlänk och om man klickar på Ålder kommer 22 fram!

Jag skulle bli väldigt lycklig om jag fick ett bra exempel på hur man skriver.

Man ska kunna ha oändligt många underlänk om man så vill! och ska kunna lägga till en undermeny till underlänk när som helst!

Man skriver bara in att uid är 3 då blir det en underlänk till id 3 (se exemplet ovan)

Koden ser ut så här nu:

<% Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("meny.mdb")

Set RS = Conn.Execute("SELECT * From meny Where uid=0")

If Not RS.EOF Then
Response.Write "<ul>"
Do Until RS.EOF
Id = RS("id")
Response.Write "<li>"& Id &" - "& RS("namn") &"</li>"
Set RS2 = Conn.Execute("SELECT * From meny WHERE uid=" & Id)
Do Until RS2.EOF
Response.Write "<ul><li>"& RS2("id") &" - "& RS2("namn") &"</li></ul>"
RS2.MoveNext
Loop
RS2.Close
Set RS2 = Nothing
RS.MoveNext
Loop
Response.Write "</ul>"
End If%>

Kolla här för hur det ser ut nu:

http://217.208.100.245/egna/meny/meny.asp

Man ska enkelt kunna lägga till en meny i databasen.

Hoppas någon vet hur man ska göra!


Svara

Sv: Menyloop??

Postades av 2002-03-03 17:45:35 - Andreas Hillqvist

Du löser det smidigast med en rekursiv Loop:
<code>
<%
Function WritMenu(Conn, Parent)
Dim rsTemp
Dim fldID
Dim fldNamn
Set rsTemp = Conn.Execute("SELECT * FROM meny WHERE uid = " & Parent)
If Not rsTemp.EOF Then
Set fldID = RS("id")
Set fldNamn = RS("namn")
Response.Write "<ul>"
Do Until rsTemp.EOF
Response.Write "<li>"& fldID &" - "& fldNamn &"</li>"
WritMenu Conn, fldID
rsTemp.MoveNext
Loop
Response.Write "</ul>"
End if
rsTemp.Close
End If


Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("meny.mdb")

WritMenu Conn, 0

Conn.Close
%>

</code>


Svara

Sv: Menyloop??

Postades av 2002-03-03 17:54:01 - Åsa Gruvsjö

Tack så jättemycket :) Funkar fint - du hade bara skrivit End If istället för .End Function


Svara

Sv: Menyloop??

Postades av 2002-03-04 09:30:44 - Åsa Gruvsjö

En liten klurigare sak som jag undrar över är om jag vill ha bilder. Ex streck som är framför.

Meny1
|__Undermeny 1
|__Undermeny 1.1
Meny 2
|__Undermeny 2
|__Undermeny 2.1

Ungefär som jag gjort här ovan!


Svara

Sv: Menyloop??

Postades av 2002-03-04 09:43:38 - Andreas Hillqvist

Då är det nog enklare att lägga värdena i tabeller.
Root 1
|_Child 1.1
| |_Child 1.1.1
| | |_Child 1.1.1.1
| |_Child 1.1.2
| |_Child 1.1.3
|_Child 1.2
|_Child 1.3


Svara

Sv: Menyloop??

Postades av 2002-03-04 09:50:44 - Åsa Gruvsjö

Ska tesat! Tackar!


Svara

Sv: Menyloop??

Postades av 2002-03-04 09:52:46 - Tommy Lindblom

Hejsan Åsa Gruvsjö.
Ser att du gärna vill lösa dit problem, har sett att du är på andra sidor med dina problem, jag kan inte erbjuda någon hjälp så jag hoppas att du snart hittar den hjälp du behöver, det jag undrar över är vad är detta och vad skall du använda det till?

/T


Svara

Sv: Menyloop??

Postades av 2002-03-04 09:58:43 - Åsa Gruvsjö

Faktiskt så ärjag inte riktigt säker vad jag ska ha det till men nåt blir det till slut.


Svara

Sv: Menyloop??

Postades av 2002-03-04 10:29:55 - Åsa Gruvsjö

Men jag vet ändå inte Hur jag ska lägga in det i koden jag fick! Hoppas du har lite tips!! Hur många bilder behöver man för ritningen du visade?


Svara

Sv: Menyloop??

Postades av 2002-03-06 01:29:48 - Åsa Gruvsjö

Snälla - jag skulle behöva se hur man ska göra! Hoppas någon kan för jag vill inte använda lista!


Svara

Sv: Menyloop??

Postades av 2002-03-06 09:49:46 - Patrik Andersson

Det kommer snart en artikel om just detta...håll ut Åsa :)

//Putte


Svara

Sv: Menyloop??

Postades av 2002-03-06 10:00:31 - Åsa Gruvsjö

Okej - det ser jag fram emot! :)


Svara

Sv: Menyloop??

Postades av 2002-03-07 15:07:24 - Andreas Hillqvist

Har gjort ett mycket litet och enkelt program:
http://www.pellesoft.nu/upload/program/prg00183.zip

Använder Null istället för 0. Ger en stor fördel. Kan skapa en relation med referens integritet och "Cascade Delets" Innebär att poster onder en meny tas bort automatiskt om menyn tas bort.


Svara

Sv: Menyloop??

Postades av 2002-03-07 16:25:09 - Åsa Gruvsjö

Tackar för det :)


Svara

Sv: Menyloop??

Postades av 2002-03-08 22:33:08 - Åsa Gruvsjö

Kan man posta ett tomt fält för en ny meny?? Om jag inget skriver i fältet uid så ska det bli en "huvudmeny" men det går ej å posta så! Hur gör man då?? Det går att lägga till undernamn i menyn men inte huvuidmeny! Varför?

<code>
<%Function Meny(Conn, HuvudId)
If HuvudId <> 0 Then
Set RS = Conn.Execute("Select *, (Select Count(*) From meny as SubMeny Where SubMeny.uid = Meny.id) as SubMenus From meny Where meny.uid = " & HuvudId)
Else
Set RS = Conn.Execute("Select *, (Select Count(*) From meny as SubMeny Where SubMeny.uid = Meny.id) as SubMenus From meny Where meny.uid Is Null")
End If
If Not RS.EOF Then
Set Id = RS("id")
Set Namn = RS("namn")
Set SubMenus = RS("SubMenus")
Response.Write "<table border=0 cellPadding=0 cellSpacing=0>"
Do
vID = Id
vText = Namn
vSubMenus = SubMenus
RS.MoveNext
If RS.EOF Then
Response.Write "<tr><td width=12px background=bilder/end.gif></td>"
Else
Response.Write "<tr><td width=12px background=bilder/main.gif></td>"
End If
Response.Write "<td>" & vId & " - " & vText & "</td></tr>"
If vSubMenus > 0 Then
If RS.EOF Then
Response.Write "<tr><td width=12px></td><td>"
Else
Response.Write "<tr><td width=12px background=bilder/left.gif></td><td>"
End If
Meny Conn, vId
Response.Write "</td></tr>"
End If
Loop Until RS.EOF
Response.Write "</table>"
End if
End Function

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/meny.mdb")
Meny Conn, 0%>

<table width="200" border="0">
<form method="post" action="index.asp?do=spara">
<tr>
<td height="10"><hr></td>
</tr>
<tr>
<td><font size="2"><b>Lägg till i menyn:</b></font></td>
</tr>
<tr>
<td height="10"><hr></td>
</tr>
<tr>
<td><b>Menynamn:</b><br><input type name="namn" size="25"></td>
</tr>
<tr>
<td><b>UID:</b><br><input type name="uid" size="10"></td>
</tr>
<tr>
<td><input type="submit" value="Lägg till"></td>
</tr>
</form>
</table>

<%If Request.Querystring("do") = "spara" Then

Namn = Request.Form("namn")
Uid = Request.Form("uid")

Conn.Execute("Insert Into meny(namn,uid) Values('" & Namn & "'," & Uid & ")")
Response.Redirect "index.asp"

End If
Conn.Close%>
</code>


Svara

Sv: Menyloop??

Postades av 2002-03-09 01:40:43 - Andreas Hillqvist

<code>
<%
Function Meny(Conn, HuvudId)
If HuvudId <> 0 Then
Set RS = Conn.Execute("Select *, (Select Count(*) From meny as SubMeny Where SubMeny.uid = Meny.id) as SubMenus From meny Where meny.uid = " & HuvudId)
Else
Set RS = Conn.Execute("Select *, (Select Count(*) From meny as SubMeny Where SubMeny.uid = Meny.id) as SubMenus From meny Where meny.uid Is Null")
End If
If Not RS.EOF Then
Set Id = RS("id")
Set Namn = RS("namn")
Set SubMenus = RS("SubMenus")
Response.Write "<table border=0 cellPadding=0 cellSpacing=0>"
Do
vID = Id
vText = Namn
vSubMenus = SubMenus
RS.MoveNext
If RS.EOF Then
Response.Write "<tr><td width=12px background=bilder/end.gif></td>"
Else
Response.Write "<tr><td width=12px background=bilder/main.gif></td>"
End If
Response.Write "<td>" & vId & " - " & vText & "</td></tr>"
If vSubMenus > 0 Then
If RS.EOF Then
Response.Write "<tr><td width=12px></td><td>"
Else
Response.Write "<tr><td width=12px background=bilder/left.gif></td><td>"
End If
Meny Conn, vId
Response.Write "</td></tr>"
End If
Loop Until RS.EOF
Response.Write "</table>"
End if
RS.Close
End Function

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/meny.mdb")

If Request.Form("do") = "spara" Then
Namn = Request.Form("namn")
Uid = Request.Form("uid")

Conn.Execute("Insert Into meny(namn,uid) Values('" & Namn & "'," & Uid & ")")
End If

Meny Conn, 0

%>

<table width="200" border="0">
<form method="post" action="">
<input type=hidden name="do" value="spara">
<tr>
<td height="10"><hr></td>
</tr>
<tr>
<td><font size="2">Lägg till i menyn:</font></td>
</tr>
<tr>
<td height="10"><hr></td>
</tr>
<tr>
<td>Menynamn:<br><input type=text name="namn" size="25"></td>
</tr>
<tr>
<td>UID:<br><select><option selected value="Null">(Root)</option><%

Set Rs = Conn.Execute("SELECT * From meny")
Do Until Rs.Eof
Response.Write "<option value=""" & rs("id") & """>" & rs("namn") & "</option>"
Rs.MoveNext
Loop
Rs.Close

Conn.Close
%></select></td>
</tr>
<tr>
<td><input type="submit" value="Lägg till"></td>
</tr>
</form>
</table>
</code>



Svara

Sv: Menyloop??

Postades av 2002-03-09 03:04:22 - Åsa Gruvsjö

Tackar!


Svara

Sv: Menyloop??

Postades av 2002-03-09 12:33:29 - Åsa Gruvsjö

Hur gör man för att få ett + tecken på alla huvudilägg som har underinlägg?? Sen när den e öppen ska plusset vara ett - och när man klickar på - teckent ska den tråden stängas och minuset byts tillbaka till ett +

Hoppas någon kan!

Som denna - nästan:

http://www.kanal5.se/popstars/forum.asp


Svara

Sv: Menyloop??

Postades av 2002-03-09 16:07:30 - Åsa Gruvsjö

Hur gör jag för att få till det med plus å minustecken??
Koden ser ut så här:

<code>
Function Meny(Conn, HuvudId)
If HuvudId <> 0 Then
Set RS = Conn.Execute("Select *, (Select Count(*) From forum as SubMeny Where SubMeny.uid = forum.id) as SubMenus From forum Where forum.uid = " & HuvudId & " Order By Datum desc")
Else
Set RS = Conn.Execute("Select *, (Select Count(*) From forum as SubMeny Where SubMeny.uid = forum.id) as SubMenus From forum Where forum.uid Is Null Order By Datum desc")
End If
If Not RS.EOF Then
Set Id = RS("id")
Set UId = RS("uid")
Set Rubrik = RS("rubrik")
Set SubMenus = RS("SubMenus")
Response.Write "<table border='0' cellpadding='0' cellspacing='0'>"
Do
vID = Id
vUID = UId
vRubrik = Rubrik
vSubMenus = SubMenus
RS.MoveNext
If RS.EOF Then
Response.Write "<tr><td width='12px' height='12' background='bilder/end.gif'></td>"
Else
Response.Write "<tr><td width='12px' height='12' background='bilder/main.gif'></td>"
End If
If vUID <> "" Then
Response.Write "<td>&nbsp;" & vRubrik & "</td></tr>"
Else
Response.Write "<td>&nbsp;" & vRubrik & "</td></tr>"
End If
If vSubMenus > 0 Then
If RS.EOF Then
Response.Write "<tr><td width='12px' height='12'></td><td>"
Else
Response.Write "<tr><td width='12px' height='12' background='bilder/left.gif'></td><td>"
End If
Meny Conn, vID
Response.Write "</td></tr>"
End If
Loop Until RS.EOF
Response.Write "</table>"
End if
End Function
</code>


Svara

Sv: Menyloop??

Postades av 2002-03-10 01:47:41 - Åsa Gruvsjö

Jag fixade det och med en helt annan kod oxå :)


Svara

Nyligen

  • 18:37 Remove the bumper in AUDI
  • 15:35 Chicken road crash game
  • 21:41 Automotive Services UK
  • 20:44 Erfarenhet av CBD-olja mot sömnpro
  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов

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 570 889
27 965
271 778
447
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