Set RecSet = Connect.Execute("SELECT * FROM Referenser WHERE KundId=" & Request.Querystring("KundId") & " ORDER BY Id")
Pagingsystem - GetRows()
27 svar · 3 014 visningar · startad av Palle · sida 2 av 2
Tjena
Har ett litet problem med det här pagingscriptet nu.
Det har funkar klockrent alla gånger jag använt det, men nu verkar det som om jag ställt till det med något.
Det är nämligen så att när jag har valt att visa en post / sida och när jag har fyra poster totalt, så börjar navigeringen på 0, så det blir:
<Pil> 0 1 2 3 4 <pil>
Det gäller alltså bara vid fyra poster, annars funkar det hur bra som helst.
Skulle gissa att det är något fel i följande kodsnutt:
If intPage < 4 Then
intNavStart = 1
intNavEnd = 5
ElseIf intPage > intPages-3 Then
intNavStart = intPages-4
intNavEnd = intPage+2
Else
intNavStart = intPage-2
intNavEnd = intPage+2
End If
Behöver alltså lite hjälp med det här, tack!
Tjena
Jag har fortfarande på problem med det jag skriver om ovan.
Det är inte bara när man visar en post / sida utan det blir sådär när det finns 4 sidor totalt.
Då skrivs 0, 1, 2, 3, 4 ut.
När sida 5 skapas försvinner nollan, det är alltså bara när det finns 4 sidor.
Tips?
@nders skrev:
Prova med If intPage <= 4 Then då istället.
Aha, det var alltså inte svårare än så. ;)
Tack!
Hur gör jag när jag vill visa 3 rader med 6 bilder i varje?
If IsArray(arrRecSet) Then
'// Poster per sida
intPostsPerPage = 18
'// Navigeringshantering
If Len(trim(Request.Querystring("n"))) > 0 Then intPage = cInt(trim(Request.Querystring("n"))) Else intPage = 1
intFirstPost = (intPage - 1) * intPostsPerPage
intTotalPosts = UBound(arrRecSet, 2)
intPages = ((intTotalPosts)\intPostsPerPage)+1
If intFirstPost + (intPostsPerPage - 1) >= UBound(arrRecSet,2) Then
intLastPost = UBound(arrRecSet, 2)
Else
intLastPost = intFirstPost + (intPostsPerPage - 1)
strNext = True
End If
'// Skriv ut posterna
For i = intFirstPost To intLastPost
strName = arrRecSet(0,i)
[B][B]Response.Write "<a href='present_m.asp?miljo="&arrRecSet(0,i)&"'><img src='bild1/miljo/small_"&arrRecSet(1,i)&"' alt='' height='100' width='100' border='0'><br> "& strName &"</a><br>[/B][/B]"& vbcrlf
Next
Response.Write vbcrlf &"</td>"& vbcrlf &"</tr>"& vbcrlf &"<tr>"& vbcrlf &"<td>"& vbcrlf
'// Navigering, välj själv knappar eller text
Call buttonNavigate(intPage, intTotalPosts, intPostsPerPage, intPages)
'Call textNavigate(intPage, intTotalPosts, intPostsPerPage, intPages)
'// Fanns inga poster
Else
Response.Write "Här var det tomt.. fyll på i databasen bums. =)"
End If
Precis som du skriver
Jag gissar att du har det i en tabell?
[b]Dim TimeToDoLinebreak[/b]
For i = intFirstPost To intLastPost
[b] TimeToDoLinebreak = TimeToDoLinebreak + 1[/b]
strName = arrRecSet(0,i)
Response.Write "<a href=""present_m.asp?miljo="&arrRecSet(0,i)&"""><img src=""bild1/miljo/small_"&arrRecSet(1,i)&""" alt="""" height=""100"" width=""100"" border=""0""><br> "& strName &"</a><br>"& vbcrlf
[b] If TimeToDoLinebreak = 6 Then
Response.Write "</td></tr><td>" ' Vad du vill att den skall göra när den träffar var 6:e post
TimeToDoLinebreak = 0
End If[/b]
Next
Jättebra - funkade utmärkt!
Tack så mycket!