webForumDet fria alternativet

Forumkod till emission

ASP

8 svar · 197 visningar · startad av Ricki

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

Hej Emission,
Här kommer koden på forumet... :) :) :)

		<%
		'--------------------------------------------------
		' Ö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 & ";"

		Sub VisaBarnMeddelanden(Forelder,Niva)

			'-------------------------------------------------------
			' Kolla vilken sida man befinner sig på
			'-------------------------------------------------------
			minSida = Request.Querystring("vilkenSida")
			If minSida = "" Then
				minSida = 1
			End If

			minSidaSize = 20

			'-------------------------------------------------------
			' Skapa recorsetet
			'-------------------------------------------------------
			Dim databas
			Set databas = Server.CreateObject("ADODB.Recordset")

			'-------------------------------------------------------
			' Ändra några värden i recorst
			'-------------------------------------------------------
			databas.cursorlocation = 3
			databas.cachesize = 1

			'-------------------------------------------------------
			' Öppna sql, recordset
			'-------------------------------------------------------
			SQL = "SELECT * From FORUM WHERE Forelder=" & Forelder & " ORDER BY Datum DESC"
			databas.Open SQL, MinCon, 1, 2

				'--------------------------------------------------------
				' Fler värden i recordset
				'--------------------------------------------------------
				databas.MoveFirst
				databas.PageSize = minSidaSize

				Maxcount = Cint(databas.PageCount)
				databas.AbsolutePage = minSida

				howmanyrecs = 0
				howmanyfields = databas.Fields.Count-1

			Do While Not databas.EOF And howmanyrecs < databas.pagesize

				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
				howmanyrecs = howmanyrecs + 1

			Loop

			databas.Close
			Set databas = nothing

		End Sub
		%>

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

		<%
		'--------------------------------------------------------
		' Skriv ut navigeringsmenyn för vilken sida man e på
		'--------------------------------------------------------
		If MaxCount <> 0 Then
			Response.Write "Du befinner dig på sida <b>" & minSida & "</b> av <b>" & maxcount & "</b> - Till: "
			Pad = "0"
			Scriptname = Request.Servervariables("script_name")

			For Counter = 1 To maxcount
				If Counter => 10 Then
					Pad = ""
				End If

				Ref = "<a href=" & Scriptname & "?vilkenSida=" & Counter & "&pagesize=" & minSidaSize & "&id=main>" & Counter & "</a>"

				If Not cStr(minSida) = cStr(Counter) Then
					Response.Write "<b>" & Ref & "</b> "
				Else
					Response.Write "<b>" & minSida & "</b> "
				End If

				If Counter Mod 10 = 0 Then
					Response.Write "<br>"
				End If

			Next

		End If
		%>

Tack på förhand!! ;)

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

Medlem sedan juni 2000373 inlägg
#2

Jag får detta felmeddelande:

ADODB.Recordset fel '800a0bcd'
Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats; åtgärden som programmet begärt kräver en aktuell post.

/Rickard/ricki2/forum.asp, rad 113

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

Medlem sedan dec. 19998 577 inlägg
#3

Är rad 113 denna: databas.MoveFirst?

Bädda in detta i:

If NOT databas.EOF then

------------------
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
#4

Jag tror inte det, men jag ska testa... :)

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

Medlem sedan dec. 19998 577 inlägg
#5

När nånting är EOF när du kör en .MoveFirst så betyder ju det att det inte finns några poster som matchar din sökning... vad innehåller variabeln foralder???

------------------
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
#6

Det var den raden, du hade rätt,m :)
Jag testade att lägga den innanför do while not databas.EOF, men funkar ändå ej....

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

Medlem sedan dec. 19998 577 inlägg
#7

Nje, nej... movefirst gör ju så att markören till recordsettet lägger sig på första posten, och den måste ju ligga före det att du börjar loopa igenom posterna...

Vad innehåller variabeln foralder?

------------------
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
#8

I loopen gör man ju detta:

VisaBarnMeddelanden databas("MeddelandeID"),Niva+1

Så forelder innehåller ett id, typ 64, 36, 28 mm.

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

Medlem sedan dec. 19996 721 inlägg
#9

1. Gör om skriptet så att de avancerade "paging"-funktionerna bara aktiveras på 0-nivån, dvs. när det är ett rotmeddelande.

2. Variabeln "databas" är redan utnyttjad utanför subben. Byt namn på någon av dem.

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