webForumDet fria alternativet

Näst senaste

11 svar · 418 visningar · startad av nisslass

nisslassMedlem sedan nov. 2001348 inlägg
#1

Hej!

Hur skriver jag ut artikeln som skrevs näst senast ur databasen?

datum är sparat i "datum" och artikeln i "artikel" tabellen heter "Allt".

ViktorMedlem sedan aug. 20021 752 inlägg
#2

Hämta ut ett recordset med artiklar sorterade efter datum/tid och ta det record som ligger som 2'a. Det borde vara den näst senaste artikeln.

/Viktor

nisslassMedlem sedan nov. 2001348 inlägg
#3

Ja, det är ju så jag vill göra, och hur tar man ut nr 2?

ViktorMedlem sedan aug. 20021 752 inlägg
#4

Menar du rent kod mässigt?
Är inte så bra på ASP men det borde väll bli något sånthär,

dim artikel as string
DIN_SQL_OCH_DATABAS_SATS
RS.movefirst
RS.movenext
artikel=RS!artikel
RS.close()

/Viktor

nisslassMedlem sedan nov. 2001348 inlägg
#5

Måste finnas ett annat sätt... hmm kan ju ta ut top 2 sorterat efter datum och göra så antar jag..

PellefantMedlem sedan maj 20023 372 inlägg
#6

kanske ngt sådant. (efter Viktors förslag)
<%
RS.movefirst
RS.movenext %>
Artikel:<%=RecSet("Artikel")%>
<%RS.Close
Database.close %>

LarsGMedlem sedan dec. 200012 464 inlägg
#7
select  artikel from allt where datum =  (select max(datum) from allt where datum < (select max(datum) from allt))
nisslassMedlem sedan nov. 2001348 inlägg
#8

Den koden som den är tar alltså fram näst senaste menar du? ;)

Om vi säger såhär:
Jag vill på en och samma sida ta fram
datum, artikel, rubrik, typ, id och kategori. (Heter samma sak i databasens tabell "Allt")

Först den senaste artikeln, sen den näst senaste och efter det uppdelat i två tabeller de 5 senaste efter det... på samma sida, uppdelat lite i tabeller och så som jag redan har klart.

Hur jag göra? Ett ganska stort problem..

nisslassMedlem sedan nov. 2001348 inlägg
#9

Känns lite dumt att behöva anropa databasen typ 4 gånger.
En gång för att få fram den senaste artikeln, en gång till för att få fram den näst senaste, ytterligare en gång för att få fram de 5 senaste utöver de två första och en sista gång för att få fram 5 till som inte har listats tidigare...

Vi snackar då Access och ASP.
Varför hittar jag detta inlägg i Databaser/SQL? Där startade jag inte tråden :q

LarsGMedlem sedan dec. 200012 464 inlägg
#10

Då är det väl enklast att göra

select * from allt order by datum desc

så får du artiklarna i fallande datumordning. Sen så är det bara att loopa igenom de 7 första posterna.

nisslassMedlem sedan nov. 2001348 inlägg
#11

Jag är lite trött idag och trögfattad (som alltid), hur menar du? *asg*

LarsGMedlem sedan dec. 200012 464 inlägg
#12

(Jag flyttade tråden, då jag tyckte att det handlade mer om SQL än om ASP.)

set rs = connect.execute("select * from allt order by datum desc")
for i = 1 to 7
if i = 1 then
'kod för att visa nyaste artikel
elseif i = 2 then
'kod för att visa näst nyaste artikel
else
'kod för att 5 nästa artiklar
end if
rs.movenext
if rs.eof then exit for
next
126 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)