/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Problem med træstruktur-menu
Fra : Mikkel Small


Dato : 07-08-03 10:28

Hej NG,

Jeg har udviklet en træ-menu i PHP som jeg har forsøgt at "oversætte" til
ASP. Desværre virker det ikke ordentligt, og efter 5 dages forgæves forsøg
på at rette det søger jeg nu hjælp her. Problemet er dette:

Menupunkterne hentes fra en mysql-databasetabel med felterne "menuID",
"parentID" og "pageID". PageID henviser blot til en anden tabel (pages) som
indeholder selve tekstindholdet til menupunkterne.
Menupunkter på øverste niveau i strukturen har alle 0 i parentID og et unikt
nummer i menuID, f.eks. 4. Alle menupunkter på niveauet herunder har så 4 i
parentID og et andet unikt nummer i menuID. På denne måde kan jeg have
ubegrænsede underniveauer.

Ud fra menuID'et hentet fra querystring laver jeg så et array (der starter
fra plads 0), som f.eks. kan hedde 0,4,5. Jeg har så en funktion der skal
udskrive menupunkterne med disse tal i parentID. Således loopes først gennem
alle punkter med parentID = 0. Et af disse har så menuID = 4 og herunder
udskrives så alle med parentID = 4 og så videre. Det er så her det går galt.
Min funktion ser således ud:

Function ShowMenu(parentID, parentArray, i)

Set rs = myConn.Execute("SELECT * FROM menu, pages WHERE menu.parentID = "
& parentID & " AND menu.pageID = pages.pageID")

Do While Not rs.EOF

Response.Write "<a href='menu.asp?menuID=" & rs("menuID") & "'>" &
rs("name") & "</a><br>"

If (parentArray(i) = rs("menuID")) Then

Response.Write "HEJ"
i = i + 1
ShowMenu rs("menuID"), parentArray, i

End If

rs.MoveNext
Loop

End Function

Og kaldet:

'parentArray indeholder 0,4,5
ShowMenu parentArray(0), parentArray, 1

Jeg får denne fejlmeddelelse:

Microsoft VBScript runtime (0x800A0009)
Subscript out of range: '3'

Hvilket henviser til linjen If (parentArray(i) = rs("menuID")) Then (...) .
Der sker noget i retning af at der kommer en forespørgsel til en plads i
parentArray som ikke eksisterer.

Jeg vil selvfølgelig meget gerne poste resten af mit script der danner
arrayet eller PHP-versionen men mente ikke det var nødvendigt i første
omgang.
Håber I kan hjælpe, jeg vil meget gerne have det til at fungere.

Mikkel



 
 
Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste