k0ffeMedlem sedan maj 2003352 inlägg Hejsan
Jag har ett bildarkiv, där jag vidare vill visa en bild i taget med hjälp av paging.
Den här koden har jag, men lyckas inte få det rätt :(
RS.pagesize = 1
bild = Request.QueryString("bild")
if RS.EOF then
Response.write "Det finns inga poster att hämta i databasen"
Else
RS.AbsolutePage = bild
totalPages = RS.PageCount
fldcounter = fldcounter + 1
i = 0
For i = 1 to RS.PageCount
If (Int(i)) = (Int(bild)) then
Response.write "<b>"& i &"</b> | "
Else
Response.write "<a href=?AID=" & RS2("AID") & "&bild="& i &">"& i &"</a> | "
End If
Next
If bild = 1 then
Response.write "föregående"
Response.write " "
Response.write "| <a href=?AID=" & RS2("AID") & "&bild=" & bild + 1 &" >nästa</p></a>"
ElseIf (Int(totalPages)) = (Int(bild)) then
Response.write "<a href=?AID=" & RS2("AID") & "&bild=" & bild - 1 &" >föregående</a>"
Response.write " "
Response.write "| nästa"
Else
Response.write "<a href=?AID=" & RS2("AID") & "&bild=" & bild - 1 &" >föregående</a>"
Response.write " "
Response.write "| <a href=?AID=" & RS2("AID") & "&bild=" & bild + 1 &" >nästa</a>"
End If
%>
Den fungerar till viss del, men när man är på sista bilden i respektive galleri så ska man itne kunna gå vidare.
ElseIf (Int(totalPages)) = (Int(bild)) then
Response.write "<a href=?AID=" & RS2("AID") & "&bild=" & bild - 1 &" >föregående</a>"
Response.write " "
Response.write "| nästa"
Som det är nu kan man fortsätta trycka nästa resp föregående genom ALLA bilder genom alla bildarkiv.
Sen vill jag inte att alla bilder ska skrivas ut som länkar:
"1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | föregående | nästa "
Utan " bild 5 av 9 föregående | nästa"
Förstår ni mitt problem?
Tack på förhand.
testa detta med problemet att man kan fortsätta att trycka...
ElseIf (Int(totalPages)) >= (Int(bild)) then
Response.write "<a href=?AID=" & RS2("AID") & "&bild=" & bild - 1 &" >föregående</a>"
Response.write " "
Response.write "| nästa"
om du ska skriva ut "bild 5 av 9 föregående | nästa" så skriv så här, tror att det ska fungera
i = 0
For i = 1 to RS.PageCount
If (Int(i)) = (Int(bild)) then
Response.write "<b>"& i &"</b> | "
Else
Response.write "<a href=?AID=" & RS2("AID") & "&bild="& i &">" & rs.pagecount & " av " & rs.absolutpage & "</a> | "
End If
Next
Next
k0ffeMedlem sedan maj 2003352 inlägg Nej inget av det hjälper mig...
Jag tänkte göra på ett annat sätt;
I Querystring har jag bilden, vi säger bild=22.
Då är den aktuella bilden som visas alltså nr 22.
Kan man inte på något sätt köra en for-sats för att räkna från 1 och framåt tills dess att bildens ID är samma som ID:t i Querystringen, och på så sätt få bildens "visa-nummer"?
T.ex:
for nr=1 to RS.PageCount
response.write "Bild-ID" & RS("ID") &" och nummer" & nr & "<br>"
while not RS("ID")=Request.QueryString("bild")
Rs.MoveNext
wend
next
Nån som förstår?
vad händer när du kör for-satsen?
J.N.Medlem sedan apr. 20031 660 inlägg HEJ!
Jag har inte satt mig in i koden, men det är ju endast att kolla så att nästa sida inte är större än den befintligt siffran, ungefär.
Skriv ut diverse variabler, tänk, och sätt en if-sats runt framåt-texten.
Har du inte motsvarande bakåt, eller då går den till den sista sidan korrekt?
k0ffeMedlem sedan maj 2003352 inlägg NEver mind, det är löst.
Om ni är intresserade så löste jag det helt enkelt såhär:
IF NOT Request.Querystring ("bild") = "" THEN
Set RS3 = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM bilder WHERE ID = " & Request.QueryString("bild")
RS3.Open SQL, Connection, adOpenStatic, adLockOptimistic
RS.pagesize = 1
bild = Request.QueryString("bild")
dim nr
nr=1
do until int(bild) = int(RS("ID"))
RS.MoveNext
nr=nr+1
loop
totalPages = RS.PageCount
fldcounter = fldcounter + 1 %>
För "bild x av z" :
Response.Write "Bild <b>" & nr & "</b> av <b>" & RS.PageCount & "</b>"
Och för "nästa":
If (Int(nr)) = 1 then
Response.write "<a href=?AID=" & RS2("AID") & "&bild=" & bild + 1 &" >nästa</p></a>"
ElseIf (Int(totalPages)) = (Int(nr)) then
Response.write "nästa"
Else
Response.write "<a href=?AID=" & RS2("AID") & "&bild=" & bild + 1 &" >nästa</a>"
End If%>
Osv...