webForumDet fria alternativet

Visa post 11-20 i databas?

ASPur ASP

6 svar · 217 visningar · startad av kilpin

Medlem sedan apr. 200084 inlägg
Frågan#1

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.

Medlem sedan dec. 200012 464 inlägg
#2

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=

------------------
essentitia preter non sans multiplicandum

Medlem sedan sep. 2000314 inlägg
#3
Visa = "SELECT TOP 10 * FROM nyheter where Id NOT IN (SELECT TOP 10 Id FROM nyheter ORDER BY Id DESC)order by id desc"
Medlem sedan maj 2000202 inlägg
#4

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?

------------------
/Sammy Swärd

[Redigerat av Sammy den 31 aug 2001]

Medlem sedan dec. 200012 464 inlägg
#5

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

------------------
essentitia preter non sans multiplicandum

Medlem sedan maj 2000202 inlägg
#6

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

------------------
/Sammy Swärd

Medlem sedan dec. 200012 464 inlägg
#7

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

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 31 aug 2001]

148 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
145 ms — hämta tråd, inlägg och bilagor (db)