webForumDet fria alternativet

Probelm med forum

ASP

5 svar · 194 visningar · startad av Ricki

Medlem sedan juni 2000373 inlägg
Frågan#1

Tjena,
Jag har följande kod till ett forum:

		<%
		'--------------------------------------------------
		' Öppna databasen
		'--------------------------------------------------
		password = "xxx"
		databas = "xxx.mdb"
		DBPath = Server.Mappath(mid(Request.ServerVariables("PATH_INFO"),1,instrrev(Request.ServerVariables("PATH_INFO"), "\")) & databas)
		Set MinCon=Server.CreateObject("ADODB.Connection")
		MinCon.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & DBPath & ";uid=;pwd=" & password & ";"
		%>

		<script LANGUAGE="vbscript" RUNAT="Server">
		Sub VisaBarnMeddelanden(Forelder,Niva)

			Dim databas
			Set databas = Server.CreateObject("ADODB.Recordset")

			SQL = "SELECT * From FORUM WHERE Forelder=" & Forelder & " ORDER BY Datum DESC"
			databas.Open SQL, MinCon, 1, 2

			Do While Not databas.EOF

				Response.Write "<tr>"
				Response.Write "<td>"

				For slinga = 1 to Niva
					Response.Write "&nbsp;&nbsp;"
				Next

				Response.Write "<a href='forum.asp?id=lasa&nr=" & databas("MeddelandeID") & "'>" & databas("Amne") & "</a>"
				Response.Write "</td>"

				Response.Write "<td nowrap>" & databas("Postare") & "</td>"
				Response.Write "<td nowrap>" & FormatDateTime(databas("Datum"),2) & "</td>"
				Response.Write "</tr>"
	

				VisaBarnMeddelanden databas("MeddelandeID"),Niva+1
				databas.MoveNext

			Loop

		End Sub
		</script>

		<table border="0" width="99%" cellpadding="0" cellspacing="0">
		  <tr>
		    <td width="60%"><strong>Meddelanden</strong></td>
		    <td width="20%"><strong>Postat av</strong></td>
		    <td width="20%"><strong>Datum</strong></td>
		  </tr>

		<%
		'--------------------------------------------------
		' Anropa subben
		'--------------------------------------------------
		VisaBarnMeddelanden 0,0
		%>

		</table>

Jag skulle vilja dela upp sidan så att man bara ser 10 huvudmeddelande på varje sida.

Jag har försökt med scriptet "Dela upp recordset på flera sidor" i ASP FAQ, men har inte fått det att funka...

Kan man inte göra det när det ligger i en sub???

Tack på förhand...

------------------
Hälsningar Ricki
www.ricki.nu

Medlem sedan dec. 19998 577 inlägg
#2

En sub exekverar bara koden och för ingenting tillbaks till din sida... det du vill använda är en 'function'... den funkerar likadant, bara det att du måste omfamna argumenten med paranteser:

VisaBarnMeddelanden(0,0)

------------------
PC-älskare prasslar i säven, och har malt i ryggen
www.webeye.nu
Vilken kategori spel tycker du mest om?

Medlem sedan juni 2000373 inlägg
#3

Fungerar det att dela upp recordsettet på flera sidor då?

------------------
Hälsningar Ricki
www.ricki.nu

Medlem sedan juni 2000373 inlägg
#4

Följande kod:

		<%
		'--------------------------------------------------
		' Öppna databasen
		'--------------------------------------------------
		password = "xxx"
		databas = "xxx"
		DBPath = Server.Mappath(mid(Request.ServerVariables("PATH_INFO"),1,instrrev(Request.ServerVariables("PATH_INFO"), "\")) & databas)
		Set MinCon=Server.CreateObject("ADODB.Connection")
		MinCon.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & DBPath & ";uid=;pwd=" & password & ";"

		Function VisaBarnMeddelanden(Forelder,Niva)

			Dim databas
			Set databas = Server.CreateObject("ADODB.Recordset")

			SQL = "SELECT * From FORUM WHERE Forelder=" & Forelder & " ORDER BY Datum DESC"
			databas.Open SQL, MinCon, 1, 2

			Do While Not databas.EOF

				Response.Write "<tr>"
				Response.Write "<td>"

				For slinga = 1 to Niva
					Response.Write "&nbsp;&nbsp;"
				Next

				Response.Write "<a href='forum.asp?id=lasa&nr=" & databas("MeddelandeID") & "'>" & databas("Amne") & "</a>"
				Response.Write "</td>"

				Response.Write "<td nowrap>" & databas("Postare") & "</td>"
				Response.Write "<td nowrap>" & FormatDateTime(databas("Datum"),2) & "</td>"
				Response.Write "</tr>"
	

				VisaBarnMeddelanden(databas("MeddelandeID"),Niva+1)
				databas.MoveNext

			Loop

		End Function
		%>

		<table border="0" width="99%" cellpadding="0" cellspacing="0">
		  <tr>
		    <td width="60%"><strong>Meddelanden</strong></td>
		    <td width="20%"><strong>Postat av</strong></td>
		    <td width="20%"><strong>Datum</strong></td>
		  </tr>

		<%
		'--------------------------------------------------
		' Anropa subben
		'--------------------------------------------------
		VisaBarnMeddelanden(0,0)
		%>

		</table>

Generera följande felmeddelande:

Kompileringsfel i Microsoft VBScript fel '800a0414' 

Det går inte att använda parenteser när en Sub anropas. 

/Rickard/ricki2/forum.asp, rad 103 

VisaBarnMeddelanden(databas("MeddelandeID"),Niva+1)
---------------------------------------------------^

Vad är fel???

------------------
Hälsningar Ricki
www.ricki.nu

Medlem sedan dec. 19996 721 inlägg
#5

Självklart kan du använda tekniken från FAQ:n. Visa hur du försökt, så får vi se vad som är fel.

Annars är verkar det rätt tänkt, även om det är lite konstigt med <SCRIPT> mitt i allt.

Det ska vara en sub, inte en function.

Medlem sedan juni 2000373 inlägg
#6

Emmission,
Jag ska knåpa ihop ett script så kan du få titta på det... :) :)

------------------
Hälsningar Ricki
www.ricki.nu

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)