Avatar billede martins Nybegynder
04. august 2003 - 16:09 Der er 9 kommentarer

Næste og forrige billede

Hej Eksperter

Jeg sidder og roder med et fotoalbum, hvor man efter at have klikket på et thumbnail, kommer til en side, hvor billedet vises i stort format. Billedernes stier bliver hevet ud af en database, hvor alle billeder ligger. Billederne kan dog have forskellige kategorier.

Jeg vil så gerne lave sådan, at man har mulighed for at klikke "næste og forrige" billede, når man ser billederne i stort format. Jeg vælger hvilket billede der skal vises, ved at give en værdi til id i querystring (hej.asp?id=123). Problemet er, at billederne har forskellige kategorier, og derfor kan jeg ikke bare fx sige næste billede = RS("id") + 1, da det ikke er sikkert, at det billede så vil tilhøre kategorien.

Jeg vil gerne se nogle forslag med kode.
Avatar billede eagleeye Praktikant
04. august 2003 - 17:34 #1
Jeg har brugt dette en gang:

id = Request("id")
katID = Request("katid")

'Find næste og forrige ID
SQL = "SELECT TOP 1 ID FROM tabelnavn WHERE kategori = " & katID & " AND ID > " & id
set rs = Conn.Execute(SQL)
if rs.EOF then
  nesteID = ""
else
  nesteID = rs("ID")
end if

SQL = "SELECT TOP 1 ID FROM tabelnavn WHERE kategori = " & katID & " AND ID < " & id & " ORDER BY ID DESC"
set rs = Conn.Execute(SQL)
if rs.EOF then
  forrigeID = ""
else
  forrigeID = rs("ID")
end if



og så udskrive linksne:

if forrigeID = "" then
  Response.Write "Forrige "
else
  Response.Write "<a href=""?id=" & forrigeID & """>Forrige</a> "
end if

if nesteID = "" then
  Response.Write "Næste "
else
  Response.Write "<a href=""?id=" & nesteID & """>Næste</a> "
end if
Avatar billede martins Nybegynder
04. august 2003 - 18:10 #2
Det kan jeg ikke få til at virke - uanset hvilket billede man står på, når man trykker tilbage, hopper den til det første billede i kategorien.
Avatar billede eagleeye Praktikant
04. august 2003 - 18:16 #3
Det virker fint hos mig, prøv at vise SQLen til at finde forrige.
Avatar billede martins Nybegynder
04. august 2003 - 22:54 #4
SQL = "SELECT TOP 1 id FROM photos WHERE category = " & category & " AND id < " & RS("id") & " ORDER BY id DESC;"
Avatar billede eagleeye Praktikant
05. august 2003 - 00:32 #5
Når du viser dem sortere du så på ID ??
Avatar billede martins Nybegynder
05. august 2003 - 00:51 #6
Nej selvf. dumme mig... jeg skal vel sortere ens ?
Avatar billede martins Nybegynder
05. august 2003 - 00:56 #7
Hmm jeg kan se, at jeg faktisk sorterer på id...
Avatar billede martins Nybegynder
05. august 2003 - 01:03 #8
Nu virker det, men kun hvis man starter fra billede 1... hvis man springer ind midt i billederne, virker det ikke...
Avatar billede eagleeye Praktikant
05. august 2003 - 16:26 #9
Du skal sortere sådan at den viser det billede med mindst ID først. Så skulle det gerne virke at den finder næste og forrige med de to SQL sætninger som er vist. Også selvom man starter inde midt i det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester