Hejsan alla!
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
%>
Tack på förhand!
Jesper TMedlem sedan nov. 20017 144 inlägg Var och hur sätter du värdet i variabeln "tillid"?
@ndersMedlem sedan juni 200032 969 inlägg Vad menar du med fungerar inte? Felmeddelande? Är du säker på att tillid har ett värde?
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.
@ndersMedlem sedan juni 200032 969 inlägg Om du i wheresatsen har med tillid=1 så hämtas ju bara de poster som har 1 i tillid...
Missförstår jag problemet?
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.
solbulleMedlem sedan mars 20015 287 inlägg Jo, men hur yttrar sig problemet?
Vad händer/händer inte?
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?