Titta i FAQ avsnittet om dela upp ett recordset på flera sidor.
Det finns färdiga skript om du tittar på wf-skript, t.ex. zPaging II
http://script.webforum.nu/forumdisplay.cgi?action=topics&forum=ASP,+VBScript&number=1&DaysPrune=1000&LastLogin=
6 svar · 223 visningar · startad av kilpin
Jag har en kod som visar de 10 "översta" nyheterna i en databas. Den ser ut så här:
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("nyheter.mdb"))
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT TOP 10 * FROM nyheter ORDER BY ID DESC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
<% Do Until RecSet.EOF %>
Hur gör jag om jag på en annan sida vill visa nyhet 11-20? Jag måste antagligen byta ut SELECT TOP 10 till någonting annat, men till vad?
Hoppas någon vänlig själv vill hjälpa mig.
Titta i FAQ avsnittet om dela upp ett recordset på flera sidor.
Det finns färdiga skript om du tittar på wf-skript, t.ex. zPaging II
http://script.webforum.nu/forumdisplay.cgi?action=topics&forum=ASP,+VBScript&number=1&DaysPrune=1000&LastLogin=
Visa = "SELECT TOP 10 * FROM nyheter where Id NOT IN (SELECT TOP 10 Id FROM nyheter ORDER BY Id DESC)order by id desc"
Intressant...
Hur gör jag om detta med följande SQL-sats/syntax eller vad man nu kallar det?
Set RStemp = Connect.Execute("SELECT TOP 4 \* FROM BILDER WHERE NOT PICTURE IS NULL order by DATUM desc, TITEL ")
Jag har provat ett antal olika satser utan att lyckas?
Nej, tekniken är inte intressant, den är ganska ineffektiv om man använder den för paging.
Set RStemp = Connect.Execute("SELECT TOP 4 * FROM BILDER WHERE PICTURE IS not NULL and datum not in (
select top 4 datum from bilder where
picture is not null order by datum desc)
order by DATUM desc, TITEL ")
Jag använder den inte för paging. Jag vill visa 8 olika bilder på samma sida men på olika "platser"!
Det finns säkert någon annan lösning på detta men jag som är relativt ny med detta ser det som en lösning för tillfället
Om du har så få bilder så är det nog enklast att alltid plocka ut allt data till en array med hjälp av getrows och sedan är det bara att indexera sig inom den.
set rs = connect.execute("select * from bilder where picture is not null order by datum desc,title")
arr = rs.getrows()
for i = 0 to 3 -- 4 första
if i > ubound(arr,2) then exit for
...
next
for i = 4 to 7 -- 4 nästa
if i > ubound(arr,2) then exit for
...
next