Avatar billede cpccorp Juniormester
21. marts 2004 - 19:11 Der er 31 kommentarer og
1 løsning

Fortsættelse af spørgsmål om paging

http://www.eksperten.dk/spm/479997 omtaler paging og det er fint, men jeg kunne godt tænke at man kun kan se f.eks 10 sider af gangen og når man vælger det sidste vises det som det første næste gang ligesom på google.dk
Avatar billede eagleeye Praktikant
21. marts 2004 - 19:13 #1
Du kan prøve noget som dette, med udgangspunkt i samme eks:


visAntal = 10
intStart = intPage - visAntal
intSlut  = intPage + visAntal
if intStart <= 0 then intStart = 1
if intSlut > intPageCount then intSlut = intPageCount
For intNum = intStart To intSlut
  Response.Write "<a href=paging.asp?page=" & intNum & "><font face='arial' size='2'><b>" & intNum & "</b></font></a> "
Next
Avatar billede eagleeye Praktikant
21. marts 2004 - 19:14 #2
Du kan evt også se dette spm med et par eksempler på hvordan man kan vise det:
http://www.eksperten.dk/spm/349973
Avatar billede cpccorp Juniormester
21. marts 2004 - 19:22 #3
Enten er jeg dum eller også kan jeg ikke lige se sammenhængen og lige hvordan jeg sakl sætte det ind i mit eget script:

If iPageCurrent > 1 Then
    %>
    <% if request.querystring("lng") <> "" then %>
    <font color=red><a class="comlinkred" href="search1.asp?recors=<%=iPageSize%>&mode=<%=request("mode")%>&keyword=<%=request("keyword")%>&page=<%= iPageCurrent - 1 %>&order=<%= Server.URLEncode(strOrderBy) %>&lng=<%=request.querystring("lng")%>&casa=<%=request.querystring("casa")%>">[&lt;&lt; Prev]</a></font>
    <% else %>
    <font color=red><a class="comlinkred" href="search1.asp?recors=<%=iPageSize%>&mode=<%=request("mode")%>&keyword=<%=request("keyword")%>&page=<%= iPageCurrent - 1 %>&order=<%= Server.URLEncode(strOrderBy) %>&lng=<%=request.querystring("lng")%>&casa=<%=request.querystring("casa")%>">[&lt;&lt; Forrige]</a></font>
    <% end if %>
    <%
End If


For I = 1 To iPageCount
minID = iPageSize * (I-1)+1
maxID = iPageSize * I
if maxID > recordcounting then maxID = recordcounting

    If I = iPageCurrent Then
        %>
        <% Response.Write "<a class=""comlinkred""><b>[" & minID & "-" & maxID & "]</b></a> " %>
        <%
    Else
        %>
        <font color=red><a class="comlinkred" href="search1.asp?recors=<%=iPageSize%>&mode=<%=request("mode")%>&keyword=<%=request("keyword")%>&page=<%= I %>&order=<%= Server.URLEncode(strOrderBy) %>&lng=<%=request.querystring("lng")%>&casa=<%=request.querystring("casa")%>">[<%=minID%>-<%=maxID%>]</a></font>
        <%
    End If
Next

If iPageCurrent < iPageCount Then
    %>
    <% if request.querystring("lng") <> "" then %>
    <font color=red><a class="comlinkred" href="search1.asp?recors=<%=iPageSize%>&mode=<%=request("mode")%>&keyword=<%=request("keyword")%>&page=<%= iPageCurrent + 1 %>&order=<%= Server.URLEncode(strOrderBy) %>&lng=<%=request.querystring("lng")%>&casa=<%=request.querystring("casa")%>">[Next &gt;&gt;]</a></font>
    <% else %>
        <font color=red><a class="comlinkred" href="search1.asp?recors=<%=iPageSize%>&mode=<%=request("mode")%>&keyword=<%=request("keyword")%>&page=<%= iPageCurrent + 1 %>&order=<%= Server.URLEncode(strOrderBy) %>&lng=<%=request.querystring("lng")%>&casa=<%=request.querystring("casa")%>">[Næste &gt;&gt;]</a></font>
    <% end if %>
    <%
End If %>

Hvis det kan lade sig gøre???
Avatar billede eagleeye Praktikant
21. marts 2004 - 19:24 #4
arh det skal være en blanding af de to?
Avatar billede eagleeye Praktikant
21. marts 2004 - 19:27 #5
Men det er denne linje:

For I = 1 To iPageCount


Som skal rette til dette:

visAntal = 10
intStart = iPageCurrent - visAntal
intSlut  = iPageCurrent + visAntal
if intStart <= 0 then intStart = 1
if intSlut > iPageCount then intSlut = iPageCount
For intNum = intStart To intSlut
Avatar billede eagleeye Praktikant
21. marts 2004 - 19:29 #6
hmm og så lige intNum --> I  i den sidste linje:
For I = intStart To intSlut
Avatar billede cpccorp Juniormester
21. marts 2004 - 19:31 #7
Nu viser det godt nok kun et vist antal men den viser alle linksene som om de var den aktuelle side - dvs ingen links til andre sider alle ser ens ud [1-50]
Avatar billede cpccorp Juniormester
21. marts 2004 - 19:34 #8
Undskyld skulle lige have det sidste med...men den viser 11 istedet for 10 og vælger man den sidste vises 10 mere
Avatar billede eagleeye Praktikant
21. marts 2004 - 19:34 #9
og du fik den sidste retelse med?
Den variable du bruger hedder I, jeg har skrevet intNum i For sætningen.
den skal se sådan her ud:

For I = intStart To intSlut
Avatar billede cpccorp Juniormester
21. marts 2004 - 19:35 #10
oveni de andre 11
Avatar billede eagleeye Praktikant
21. marts 2004 - 19:36 #11
Ja den viser dem lige som google.dk gør +/-10 fra den valgte side.
Avatar billede eagleeye Praktikant
21. marts 2004 - 19:37 #12
Avatar billede eagleeye Praktikant
21. marts 2004 - 19:39 #13
Hvis den altid skal vise 10 ialt så skal disse:

visAntal = 10
intStart = iPageCurrent - visAntal
intSlut  = iPageCurrent + visAntal
if intStart <= 0 then intStart = 1
if intSlut > iPageCount then intSlut = iPageCount

Laves om til:

visAntal = 10
intStart = iPageCurrent - Int(visAntal/2)
if intStart <= 0 then intStart = 1
intSlut  = intStart + visAntal
if intSlut > iPageCount then intSlut = iPageCount
Avatar billede cpccorp Juniormester
21. marts 2004 - 19:45 #14
Det er bedre men den viser 11 og kan man få den til at vise den valgte først + de 9 andre
Avatar billede eagleeye Praktikant
21. marts 2004 - 19:47 #15
Den første, er det den side man er kommet til?
Avatar billede cpccorp Juniormester
21. marts 2004 - 19:54 #16
Det ser mærkeligt ud prøv at søge på følgende side:

http://mysterymanrecords.dk
Avatar billede eagleeye Praktikant
21. marts 2004 - 19:54 #17
Altså hvis man står vælger side 5 skal den vise 5,6,7,8,9,10,11,12,13,14,15 ?

For så skal det være:

visAntal = 10 'ret evt til 9 hvis den skal vise en mindre.
intSlut  = intStart + visAntal
if intSlut > iPageCount then intSlut = iPageCount
For I = iPageCurrent To intSlut
Avatar billede cpccorp Juniormester
21. marts 2004 - 20:11 #18
Jeg har ændret det men når den kommer over de 10 + 1 på næste side vises der ikke flere sider kun forrige og næste linksene
Avatar billede eagleeye Praktikant
21. marts 2004 - 20:20 #19
Prøv at vise hvor koden er lige nu, og et eks på hvordan det skal være er det som jeg spurgte om lige før?
Avatar billede cpccorp Juniormester
21. marts 2004 - 20:38 #20
Avatar billede eagleeye Praktikant
21. marts 2004 - 20:43 #21
ok, men den viser så alle siderne, hmm ser lige en fejl i det jeg har vist.

Denne:
intSlut  = intStart + visAntal

Skal være:
intSlut  = iPageCount + visAntal
Avatar billede cpccorp Juniormester
21. marts 2004 - 20:58 #22
Med den nye rettelse se det så
Avatar billede eagleeye Praktikant
21. marts 2004 - 21:04 #23
det forstår jeg ikke, men den starter det rigtigt sted..og variablen visAntal er stat til noget?
Avatar billede cpccorp Juniormester
21. marts 2004 - 21:06 #24
ja 9
Avatar billede cpccorp Juniormester
21. marts 2004 - 21:07 #25
If iPageCurrent > 1 Then
    %>
    <% if request.querystring("lng") <> "" then %>
    <font color=red><a class="comlinkred2" href="search1.asp?recors=<%=iPageSize%>&mode=<%=request("mode")%>&keyword=<%=request("keyword")%>&page=<%= iPageCurrent - 1 %>&order=<%= Server.URLEncode(strOrderBy) %>&lng=<%=request.querystring("lng")%>&casa=<%=request.querystring("casa")%>">[&lt;&lt; Prev]</a></font>
    <% else %>
    <font color=red><a class="comlinkred2" href="search1.asp?recors=<%=iPageSize%>&mode=<%=request("mode")%>&keyword=<%=request("keyword")%>&page=<%= iPageCurrent - 1 %>&order=<%= Server.URLEncode(strOrderBy) %>&lng=<%=request.querystring("lng")%>&casa=<%=request.querystring("casa")%>">[&lt;&lt; Forrige]</a></font>
    <% end if %>
    <%
End If

visAntal = 9 'ret evt til 9 hvis den skal vise en mindre.
intSlut  = iPageCount + visAntal
if intSlut > iPageCount then intSlut = iPageCount
For I = iPageCurrent To intSlut
minID = iPageSize * (I-1)+1
maxID = iPageSize * I
if maxID > recordcounting then maxID = recordcounting
    If I = iPageCurrent Then
        %>
        <% Response.Write "<a class=""comlinkred2""><b>[" & minID & "-" & maxID & "]</b></a> " %>
        <%
    Else
        %>
        <font color=red><a class="comlinkred2" href="search1.asp?recors=<%=iPageSize%>&mode=<%=request("mode")%>&keyword=<%=request("keyword")%>&page=<%= I %>&order=<%= Server.URLEncode(strOrderBy) %>&lng=<%=request.querystring("lng")%>&casa=<%=request.querystring("casa")%>">[<%=minID%>-<%=maxID%>]</a></font>
        <%
    End If
Next

If iPageCurrent < iPageCount Then
    %>
    <% if request.querystring("lng") <> "" then %>
    <font color=red><a class="comlinkred2" href="search1.asp?recors=<%=iPageSize%>&mode=<%=request("mode")%>&keyword=<%=request("keyword")%>&page=<%= iPageCurrent + 1 %>&order=<%= Server.URLEncode(strOrderBy) %>&lng=<%=request.querystring("lng")%>&casa=<%=request.querystring("casa")%>">[Next &gt;&gt;]</a></font>
    <% else %>
        <font color=red><a class="comlinkred2" href="search1.asp?recors=<%=iPageSize%>&mode=<%=request("mode")%>&keyword=<%=request("keyword")%>&page=<%= iPageCurrent + 1 %>&order=<%= Server.URLEncode(strOrderBy) %>&lng=<%=request.querystring("lng")%>&casa=<%=request.querystring("casa")%>">[Næste &gt;&gt;]</a></font>
    <% end if %>
    <%
End If
Avatar billede eagleeye Praktikant
21. marts 2004 - 21:09 #26
I det sidste jeg viste har jeg vist pyttet rundt på iPageCount og iPageCurrent??
Prøv lige at rette:
intSlut  = iPageCount + visAntal

Til, for det er jo iPageCurrent som indeholder den valgte side:
intSlut  = iPageCurrent + visAntal
Avatar billede cpccorp Juniormester
21. marts 2004 - 21:14 #27
Det ser ud til at virke, men se det lige i linket ovenover
Avatar billede eagleeye Praktikant
21. marts 2004 - 21:17 #28
Ja nu ser det meget bedre ud
Avatar billede cpccorp Juniormester
21. marts 2004 - 21:19 #29
Lige ved at opgive, men det var godt du ikke gjorde det, send et svar
Avatar billede eagleeye Praktikant
21. marts 2004 - 21:20 #30
Ok :)
Avatar billede eagleeye Praktikant
21. marts 2004 - 21:21 #31
Jeg beklager jeg fik byttet rundt på et par variable :)
Avatar billede cpccorp Juniormester
21. marts 2004 - 21:27 #32
accepteret du klarede det til sidst
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