webForumDet fria alternativet

Dynamisk array i trädstruktur?

4 svar · 467 visningar · startad av Thomasa

ThomasaMedlem sedan aug. 2002351 inlägg
#1

hej!

Jag försöker lista ett antal kategorier som kan variera ur en databastabell som ser ut som följer;

CategoryID | Name | ParentID
1 | Test | 0
2 | Sub1 | 1
3 | Sub2 | 2

Jag vill att de ska listas såhär:

Test\Sub1\Sub2

cat.asp?catid=3

Nu så har jag gjort en funktion som hämtar nya namn tills den kommer till en toppkategori med parent id 0 alltså.
så den skriver då ut

Sub2/Sub1/Test

så hur kan jag vända på det, jag har försökt att spara i en "dynamisk array" men det har inte lyckats..

OveRRidEMedlem sedan feb. 200112 078 inlägg
#2

Jag har läst ditt inlägg grundligt två gånger nu och jag förstår faktiskt fortfarande inte vad du vill åstakomma. ;) Kan du försöka förklara vad du vill få ut med det, eller i vilket sammanhang det kommer in, så förstår jag nog. :)

Och förresten; Välkommen till webForum!. Hoppas du kommer trivas!

MVH
OveRRidE

moderator, webForum

emissionMedlem sedan dec. 19996 721 inlägg
#3

Hej Thomasa!

Läg det inte i en array, utan bygg på den textsträng du ska ha ut, bakifrån.

ThomasaMedlem sedan aug. 2002351 inlägg
#4

tackar så mycket för det varma välkommnandet :)

jag provar infoga koden så kanske det är lättare att förstå:

<!--#include file="../references/admin/check_user.asp"-->
<%
Dim result2, result3, result4, doctext, counter

set result2 = ExecuteSQL(this,"SELECT * FROM category WHERE categoryid=" & Request.querystring("catid"))
If not result2.EOF then
		counter = 1
	If result2("parentid") <> 0 then
		CALL getParentID(result2("parentid"))
		Response.Write "/" & result2("name")
	End If
	

Else

	Response.Write "error"

End If

'**********************************************************************
'*
'*   getParentID
'*
'**********************************************************************
function getParentID(parentid)
DIM out, outbar

set result3 = ExecuteSQL(this,"SELECT * FROM category WHERE categoryid=" & parentid)

If result3("parentid") <> 0 then
Response.Write "/" & result3("name")
	CALL getParentID(result3("parentid"))

End If

end function

%>

Det är alltså där jag skriver Response.Write... jag vill lagra dem i en annan ordning.., så att det första vädet jag får går in som array(1) osv.. men det funkade inte..

ThomasaMedlem sedan aug. 2002351 inlägg
#5

oj såg inte att jag fått ett svar till, hur gör jag en textsträng baklänges?

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