Jag håller på med en gästbokstjänst, men paging-scriptet fungerar inte när jag ställer villkor i SQL:n om tillid. Hoppas någon har en smidig lösning!
<%
Set RecSet = Server.CreateObject("ADODB.Recordset")
Const perSida = 10
If Request.QueryString("page") = "" then
page = 1
Else
page = Request.QueryString("page")
End If
RecSet.CursorLocation = 3
RecSet.CacheSize = perSida
SQL = "Select * From tjanster_gbinl Where tillid="&tillid&" Order By id DESC"
RecSet.Open SQL, Connect, 3, 3
RecSet.MoveFirst
RecSet.PageSize = perSida
TotalPages = RecSet.PageCount
RecSet.AbsolutePage = page
Count = 0
Do While Not RecSet.EOF And Count < RecSet.PageSize
%>
tillid = Request.ServerVariables("QUERY_STRING")
Så hämtas tillid, och den innehåller värdet.
Felet är att om första posten i tabellen har tillid 1 så funkar inte gästbok med id 2 utan bara dem med tillid=1. Alltså tror jag att det är något fel med RecSet.MoveFirst eller liknande.
Det är ett missförstånd.
Om första posten i databasen har kolumnen tillids värde = 1 så uppstår problem. Om tillid i scriptet får värdet 1 så funkar pagingen, men har den värdet 2 så funkar det inte. Det beror nog på värdet på tillid-kolumnen i den första posten i databasen.
Jag kan uttrycka det så här:
IF tillid <> RecSet("tillid") (första posten i tabellen) then
skrivs inga inlägg ut även om det finns
ELSE
skrivs inläggen ut om det stämmer överens.
END IF
Någon som har ett bättre paging-script som funkar tillsammans med WHERE-villkor i SQL-sats?
257 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91