05. august 2002 - 10:43Der er
6 kommentarer og 1 løsning
Vis næste billede
Jeg har en side, hvor der bliver vist nogle thumbnails, hvis man trykker på et vises billedet så i fuld størelse. Pa denne side har jeg så ovenover billedet 2 pile, 1 til at vise det næste billede i rækken og en til det forrige.
Billedfilen bliver hentet fra en db på følgende måde: --------------------------------- id = request.QueryString("ID") SQL3 = "SELECT * FROM galleri WHERE ID=" & id set rs3 = myconn.execute(SQL3) id = rs3("id") pic = rs3("billedfil") besk = Replace(rs3("beskrivelse")&"", vbCrLf, "<BR>")
Koden til pilen er lavet så den bare lægger 1 til id'en men dette giver mig et problem, da det er muligt for brugerne af systemet og slette et billede. Kan man på en eller anden måde bare bede den om at tage den næste eller forrige post i db'en, så det ikke fungere efter id'en
du kan gøre det med 3 SQL'er en som viser billede og en som finder næste ID og en som finde forrige ID : visbillede.asp?id=34
id = request.querystring("id") sql = "SELECT ID FROM billedetabel WHERE ID > " & id set rs = conn.execute (sql) if rs.EOF then nextID = "" else nextID = rs("id") end if sql = "SELECT ID FROM billedetabel WHERE ID < " & id set rs = conn.execute (sql) if rs.EOF then prevID = "" else prevID = rs("id") end if sql = "SELECT billedeSti FROM billedetabel WHERE ID = " & id set rs = conn.execute (sql) if not rs.EOF then 'DIN KODE SOM VISER BILLEDET end if if prevID = "" then Response.write "Forrige" else Response.write "<a href=visbillede.asp?id="&prevID&">Forrige</a>" end if Response.write " | " if nextID = "" then Response.write "Næste" else Response.write "<a href=visbillede.asp?id="&nextID&">Næste</a>" end if
Nu kan jeg se at du har har lavet det sådan at hvis man ser det sidste billede i rækken, forsvinder linket til det næste.
Kan man måske gøre sådan at det løber i en ring. dvs. hvis du ser det sidste billede og man trykker videre, at man så kommer til det første igen. og selvfølgelig også den anden vej.
Jeg har lige fundet en fejl, som jeg ikke lige selv kan lokalisere. Hvis jeg starter med at vise det første billede og trykker på næste virker det OK, men når jeg så kommer frem til det sidste billede, og trykker på forrige springer den helt tilbage til det første billede.
sql = "SELECT Min(ID) as nextID FROM billedetabel" set rs = conn.execute (sql) nextID = rs("nextID")
Ligeledes med prev...:
prevID = ""
Skal så udskiftes med:
sql = "SELECT Max(ID) as prevID FROM billedetabel" set rs = conn.execute (sql) nextID = rs("prevID")
Synes godt om
Ny brugerNybegynder
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.