webForumDet fria alternativet
Logga in / Bli medlem

Subrutin prob!

ASP

15 svar · 248 visningar · startad av aleborg

Medlem sedan jan. 20013 341 inlägg
Trådstart#1

Jag har fått fram en fungerande kod som ser ut så här för att plocka fram alla kategorier och subkategorier:

<%
Sub WriteCatSubstans(catName,catId)

	Dim tac
	Dim sql2

	SQL2="Select * From Categ Where CatBel='"& catid &"'"
	Set tac = Conn.Execute(SQL2)

	Do until tac.Eof
		Response.Write("<option value="""& tac("CatID") &""">" & CatName & "/" & tac("CatName") & "</option>")
			Call WriteCatSubstans(CatName & "/" & tac("CatName"), tac("catID"))
		tac.MoveNext
	Loop

	tac.Close
	Set tac = Nothing

End sub

SQL = "Select * From Categ Where CatBel='none'"
Set ca = Conn.Execute(SQL)

	Do Until ca.EOF
		Response.Write("<option value=""" & ca("CatID") & """>" & ca("CatName")& "</option>")
			Call WriteCatSubstans(ca("catName"),ca("CatId"))
	ca.MoveNext
	loop

ca.close
Set ca = Nothing
%>

Den fungerar perfekt utan problem i ett formulär för att skapa nya kategorier, saken är när man skickar formuläret så ska kategorin man valt att skapa ny i visas, hela kedjan t ex:
kat1 - sub1 - sub2 - nysub

Hur ska jag göra, förmodar att jag får använda ovanstående sätt att göra det på! Suttit och provat mig fram men inte fått nått fungerande :(

Så här ser den nuvarande koden ut, men den visar inte hela kedjan:

<%
If Session("CatBel")="none" Then
Response.Write ""& Session("CatName") &""
Else

SQL="Select * From Categ Where CatID='"& Session("Catbel") &"'"
Set ca=Conn.Execute(SQL)
If len(ca("Catbel"))="none" Then
Response.Write ""& ca("CatName") &" - <u>"& Session("CatName") &"</u>"
ca.Close
Set ca=Nothing
Else
SQL2="Select * From Categ Where CatID='"& ca("Catbel") &"'"
Set ac=Conn.Execute(SQL2)
Do Until ac.EOF
Response.Write ""& ac("CatName") &" - "
ac.MoveNext
Loop
ac.Close
Set ac=Nothing
Response.Write ""& ca("CatName") &" - <u>"& Session("CatName") &"</u>"
ca.Close
Set ca=Nothing
End If
End If
%>
Medlem sedan dec. 19996 721 inlägg
#2

Testa lite med detta...

<%

response.write mid(ShowCats(0,true),3)

Sub ShowCats(CatID,Current)
	dim m_buffer
	if Current then
		m_buffer=" - <u>"& Session("CatName") &"</u>"
		nextcat=Session("CatBel")
	else
		SQL="Select * From Categ Where CatID='"& CatID &"'"
		Set ca=Conn.Execute(SQL)
		m_buffer=" - " & ca("CatName")
		nextcat=ca("CatBel")
	end if
	if nextcat<>"none" then
		ShowCats=ShowCats(nextcat,false) & m_buffer
	else
		ShowCats=m_buffer
	end if
End Sub
%>
Medlem sedan jan. 20013 341 inlägg
#3

:(
Type mismatch: 'ShowCats'

Medlem sedan dec. 19996 721 inlägg
#4

Labba lite med den. Jag skrev rätt från hjärtat....och har ingen aning om hur sessions och så ser ut hos dig... :)

[r]Ja, och så är det ju bra om man gör en function och inte en sub....[/r]

[Redigerat av emission den 03 jul 2001]

Medlem sedan juli 20013 inlägg
#5

Sorry to write in English, but I'm Danish and does not understand nor know how to write in Sweedish :-(

emission, you cannot assign a value to a SUB routine, only a Function. That is why aleborg gets an error.

I'll get back to you with your problem .. just wanted to say this now ..

Medlem sedan juni 200032 967 inlägg
#6

*LOL* emission gjorde fel! ;)

Medlem sedan juli 20013 inlägg
#7

*smile* and emission never makes errors or ?

Medlem sedan juni 200032 967 inlägg
#8

nope, but there's a first for everything... :e

Medlem sedan jan. 20013 341 inlägg
#9

nån?

Medlem sedan juni 200032 967 inlägg
#10

har du skrivit om det till en funktion istället för en sub?

hur ser din kod ut i detta nu?

Medlem sedan jan. 20013 341 inlägg
#11

Jag gick tillbaka till den ursprungliga, är fortfarande inte riktigt haj på functions o subbar

Medlem sedan dec. 19998 577 inlägg
Medlem sedan jan. 20013 341 inlägg
#13

Ett utmärkt sätt att lära sig functions på!

Function ShowCat(catbel)
SQL2="Select * From Categ Where CatID="&catbel
Set ac=Conn.Execute(SQL2)
Do Until ac.EOF
Response.Write ""& ac("CatName") &" - "
ac.MoveNext
Loop
ac.Close
Set ac=Nothing
End Function

Nu måste ju catbel ha ett värde också?

Medlem sedan dec. 19996 721 inlägg
#14

Nu förstår jag faktiskt inte vad du är ute efter.

Som function fungerar mitt exempel.

Medlem sedan jan. 20013 341 inlägg
#15

Det gjorde det :)
Du e en klippa mannen :)

Medlem sedan dec. 19996 721 inlägg
#16

Vad kul! :)

393 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
127 ms — deklarationer (db)
121 ms — hämta statistik (db)
133 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)