webForumDet fria alternativet

Meny hjälp

ASPur ASP

7 svar · 372 visningar · startad av voigtann1

Medlem sedan juni 20019 519 inlägg
Frågan#1
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...

Medlem sedan juni 20019 519 inlägg
#2

http://voigt.se/meny.asp
finns exempel på hur jag vill ha den... och hur den fungera just nu

Medlem sedan juni 20019 519 inlägg
#3

kanske med hjälp av:

For Z = 1 To intIndent : strIndent = strIndent & "<img src='null.gif'>" : Next

för att kanske skriva <table> med just det ID... problemet är ju att nästa "menyval" som ska inte ha <table> då table redan är skriven...

Medlem sedan juni 20019 519 inlägg
#4

Försökt lite ny kod

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..

Medlem sedan juni 20019 519 inlägg
#5

Nu är bara problemet(som jag ser det) att koden vet när

</table>

Ska läggas in efter en underrubrik slutar.

Medlem sedan juni 20019 519 inlägg
#6

Tror nästan att koden fungera "för bra" att den skriver ut för mycket....

inte någon som har en idé för att fixa detta?
kan det vara något med:

Call LinkTree(arrLinks(0,X),intIndent + 1)

på underaden av response.write(... kanske? eller den gör bara en till utskrift OM det finns en ]]intIndent + 1

Medlem sedan juni 20019 519 inlägg
#7

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'>&lt;/table><br></font><font color='#0000AA'>&lt;/td><br></font><font color='#00AA00'>&lt;/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'>&lt;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'>&lt;/table&gt;</font><br>"
     end if

     response.write(skapa_table)
     Response.Write("<font color=green>&lt;tr></font><br>"&VbCrlf)
     response.write("<font color=blue> &lt;td>" &strIndent& button_plus(Arrmenu(0,0),arrlinks(0,x)) & "" &arrLinks(2,X) & "&lt;/td></font><br>" & VbCrlf)
     response.write("<font color=green>&lt;/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'>&lt;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'>&lt;/table&gt;</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?

Medlem sedan juni 20019 519 inlägg
#8

Nu börja jag komma någon vart!:

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'>&lt;/table><br></font><font color='#0000AA'>&lt;/td><br></font><font color='#00AA00'>&lt;/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'>&lt;table id='meny" & arrLinks(1,X) &"' style='display:none;' border='0' cellspacing='0' cellpadding='0'><br></font>"
     else
       test =  "<font color='#ff0000'>&lt;/table&gt;</font><br>"
     end if     
     response.write(skapa_table)
     Response.Write("<font color=green>&lt;tr></font><br>"&VbCrlf)
     response.write("<font color=blue> &lt;td>" &strIndent& button_plus(Arrmenu,arrlinks(0,x)) & "" &arrLinks(2,X) & "&lt;/td></font><br>" & VbCrlf)
     response.write("<font color=green>&lt;/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?

133 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)