function button_plus(byVal strCINT,strMenu)
if cint(strCINT) > 0 then button_plus = "<a href='javascript:menu(""meny"&strMenu&""")'><img src='plus.gif' border=0 ID='plusmeny"&strMenu&"'></a>" else button_plus = "<img src='blank.gif' border=0>"
end function
Sub LinkTree(intParent,intIndent) : Dim X,Z
For X = 0 To Ubound(arrLinks,2)
If arrLinks(1,X) = intParent Then
if intIndent < 1 then
strCat = "<tr ID='meny"& arrlinks(1,x)&"' style='display:block;'><td>"
else
strCat = "<tr ID='meny"& arrlinks(1,x)&"' style='display:none;'><td>"
end if
For Z = 1 To intIndent : strIndent = strIndent & "<img src='null.gif'>" : Next
SQL = "select count(*) as test from menu where link = "& arrlinks(0,x)
set recset = conn.execute(SQL)
If Not recset.BOF Or Not recset.EOF Then
ArrMenu = recset.GetRows()
ELSE
arrRecords = ""
end if
Response.Write(strCat &strIndent& button_plus(Arrmenu(0,0),arrlinks(0,x)) & strtest & " " &arrLinks(2,X)& strIndent2 & "</td></tr>"&VbCrlf)
Call LinkTree(arrLinks(0,X),intIndent + 1)
End If
Next
End Sub
Som ni ser försöker jag ändra om Macce kod. Nu vill jag att om en katogori har en under-katalog så ska den underkatalogen har en <table ID=''meny"& arrlinks(1,x)&"'> men jag har lite svårt att tänka ut hur man kan göra det... funderade om man kan använda "button_plus()" funktionen ungefär och fixa detta... men jag har bara stirrat mig blind på koden nu i några timmar...
arrLinks = GetRows("SELECT ID,Link,namn,url,type FROM menu")
intGrpId = 0
'Ladda menyn
Call LinkTree(intGrpId,0)
function button_plus(byVal strCINT,strMenu)
if cint(strCINT) > 0 then button_plus = "<a href='javascript:menu(""meny"&strMenu&""")'><img src='plus.gif' border=0 name='plusmeny"&strMenu&"'></a>" else button_plus = "<img src='blank.gif' border=0>"
end function
function button_test(byVal strCINT,strMenu)
if cint(strCINT) > 0 then
button_test = "<tr><td><table name='meny"&strMenu&"' style='display:none'>"
end if
end function
Sub LinkTree(intParent,intIndent) : Dim X,Z
For X = 0 To Ubound(arrLinks,2)
SQL = "select count(*) as test from menu where link = "& arrlinks(0,x)
set recset = conn.execute(SQL)
If Not recset.BOF Or Not recset.EOF Then
ArrMenu = recset.GetRows()
ELSE
arrRecords = ""
end if
if not (x+1) > ubound(arrLinks,2) then
if arrlinks(1,x) <> arrlinks(1,x+1) then
ta = "</table></td></tr>"
end if
end if
If arrLinks(1,X) = intParent Then
For Z = 1 To intIndent
strIndent = strIndent & "<img src='null.gif'>"
Next
Response.Write("<tr>"&VbCrlf& " <td>" &strIndent& button_plus(Arrmenu(0,0),arrlinks(0,x)) & "" &arrLinks(2,X)& strIndent2 & "</td>" & VbCrlf & "</tr>"&VbCrlf & ta & button_test(Arrmenu(0,0),arrlinks(0,x)))
Call LinkTree(arrLinks(0,X),intIndent + 1)
End If
Next
End Sub
Förstå inte riktigt var felet ligger... förutom att det är fel på den :P förstå inte riktigt hur (Om man ens kan lösa detta).. link = 0 ska vara huvudmenyn..
försöker lite med färger på sidan nu bara för att hitta lite struktur i hela smeten:
Sub LinkTree(intParent,intIndent) : Dim X,Z
For X = 0 To Ubound(arrLinks,2)
SQL = "select count(*) as test from menu where link = "& arrlinks(0,x)
set recset = conn.execute(SQL)
If Not recset.BOF Or Not recset.EOF Then
ArrMenu = recset.GetRows()
ELSE
arrRecords = ""
end if
if not (x+1) > ubound(arrLinks,2) then
if arrlinks(1,x) <> arrlinks(1,x+1) then
ta = "<font color='#ff0000'></table><br></font><font color='#0000AA'></td><br></font><font color='#00AA00'></tr></font>"
end if
end if
If arrLinks(1,X) = intParent Then
For Z = 1 To intIndent
strIndent = strIndent & "<img src='null.gif'>"
Next
if NOT meny = arrLinks(1,x) then
skapa_table = "<font color='#ff0000'><table id='meny" & arrLinks(1,X) &"' style='display:none;' border='0' cellspacing='0' cellpadding='0'><br></font>"
end if
if intIndent = 0 then
response.write "<font color='#ff0000'></table></font><br>"
end if
response.write(skapa_table)
Response.Write("<font color=green><tr></font><br>"&VbCrlf)
response.write("<font color=blue> <td>" &strIndent& button_plus(Arrmenu(0,0),arrlinks(0,x)) & "" &arrLinks(2,X) & "</td></font><br>" & VbCrlf)
response.write("<font color=green></tr></font><br>"&VbCrlf)
meny = arrLinks(1,X)
Call LinkTree(arrLinks(0,X),intIndent + 1)
End If
Next
End Sub
Just nu försökte jag:
if NOT meny = arrLinks(1,x) then
skapa_table = "<font color='#ff0000'><table id='meny" & arrLinks(1,X) &"' style='display:none;' border='0' cellspacing='0' cellpadding='0'><br></font>"
end if
if intIndent = 0 then
response.write "<font color='#ff0000'></table></font><br>"
end if
där den gör en "kass" gemförelse för det är inget som håller i längden... som man redan ser på resultatet på voigt.se/meny/
måste jag göra en SQL sats eller något för att lägga till </table> och <table style='display:hidden'> för att skapa "boxarna" för under-menyerna?
Sub LinkTree(intParent,intIndent) : Dim X,Z
For X = 0 To Ubound(arrLinks,2)
SQL = "select count(*) as test from menu where link = "& arrlinks(0,x)
set recset = conn.execute(SQL)
If Not recset.BOF Or Not recset.EOF Then
ArrMenu = recset("test")
ELSE
arrRecords = ""
end if
if not (x+1) > ubound(arrLinks,2) then
if arrlinks(1,x) <> arrlinks(1,x+1) then
ta = "<font color='#ff0000'></table><br></font><font color='#0000AA'></td><br></font><font color='#00AA00'></tr></font>"
end if
end if
If arrLinks(1,X) = intParent Then
For Z = 1 To intIndent
strIndent = strIndent & "<img src='null.gif'>"
Next
if arrlinks(1,x) > intGrpId then
skapa_table = "<font color='#ff0000'><table id='meny" & arrLinks(1,X) &"' style='display:none;' border='0' cellspacing='0' cellpadding='0'><br></font>"
else
test = "<font color='#ff0000'></table></font><br>"
end if
response.write(skapa_table)
Response.Write("<font color=green><tr></font><br>"&VbCrlf)
response.write("<font color=blue> <td>" &strIndent& button_plus(Arrmenu,arrlinks(0,x)) & "" &arrLinks(2,X) & "</td></font><br>" & VbCrlf)
response.write("<font color=green></tr></font><br>"&VbCrlf)
Call LinkTree(arrLinks(0,X),intIndent + 1)
End If
Next
End Sub
Problemet nu är att nu skriver den ut 2 st meny4.. ska man skapa en array som kontrollera alla menyer som har skrivits tidigare så att den <table> inte läggs in en gång till?
260 ms totalt · 3 externa anrop · v20260731065814-full.55e59744