Jag skulle behöva lite hjälp! Du löser det smidigast med en rekursiv Loop: Tack så jättemycket :) Funkar fint - du hade bara skrivit End If istället för .End Function En liten klurigare sak som jag undrar över är om jag vill ha bilder. Ex streck som är framför. Då är det nog enklare att lägga värdena i tabeller. Hejsan Åsa Gruvsjö. Faktiskt så ärjag inte riktigt säker vad jag ska ha det till men nåt blir det till slut. 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? Snälla - jag skulle behöva se hur man ska göra! Hoppas någon kan för jag vill inte använda lista! Har gjort ett mycket litet och enkelt program: 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> 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 + Hur gör jag för att få till det med plus å minustecken??Menyloop??
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!Sv: Menyloop??
<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>Sv: Menyloop??
Sv: Menyloop??
Meny1
|__Undermeny 1
|__Undermeny 1.1
Meny 2
|__Undermeny 2
|__Undermeny 2.1
Ungefär som jag gjort här ovan! Sv: Menyloop??
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.3Sv: Menyloop??
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?
/TSv: Menyloop??
Sv: Menyloop??
Sv: Menyloop??
Sv: Menyloop??
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.Sv: Menyloop??
<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>Sv: Menyloop??
<%
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> Sv: Menyloop??
Hoppas någon kan!
Som denna - nästan:
http://www.kanal5.se/popstars/forum.aspSv: Menyloop??
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> " & vRubrik & "</td></tr>"
Else
Response.Write "<td> " & 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>