Avatar billede psyclown Nybegynder
14. september 2001 - 14:11 Der er 2 kommentarer og
1 løsning

Paging

Jeg har et helt almindelige paging system:

<%
intPage = Request(\"page\")
If isNumeric(intPage) = False Or intPage < 1 Then
intPage = 1
End If

strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"min_db.mdb\")
Set rstemp = Server.CreateObject(\"ADODB.RecordSet\")
strSQL = \"SELECT * FROM News ORDER by date desc\"
rstemp.Open strSQL, strDSN, 1

If Not (rstemp.BOF Or rstemp.EOF) Then
rstemp.PageSize = 5
rstemp.AbsolutePage = intPage
intRecCount = rstemp.PageSize
intPageCount = rstemp.PageCount
%>
<table border=\"0\">
<tr>
<td>
<%
If Clng(intPage) > 1 Then
Response.Write \"<a href=index.asp?mode=news&page=\"& intPage - 1 &\">&lt;&lt; Previous</a>\"
Else
Response.Write \"&nbsp;\"
End If
%>
</td>
<td>
<%
For intNum = 1 To intPageCount
Response.Write \"<a href=index.asp?mode=news&page=\" & intNum & \">\" & intNum & \"</a> - \"
Next
%>
</td>
<td>
<%
If Clng(intPage) < Clng(intPageCount) Then
Response.Write \"<a href=index.asp?mode=news&page=\"& intPage + 1 &\">Next &gt;&gt;</a> \"
Else
Response.Write \"&nbsp;\"
End If
%>
</td>
</tr>
</table>
<% Do While Not rstemp.EOF And intRecCount > 0 %>
Her skal alt andet på siden være...
<%
intRecCount = intRecCount - 1
rstemp.movenext
loop
else
%>
End If
%>
<%
rstemp.Close
Set rstemp = Nothing
%>

Det skulle gerne være nogenlunde det jeg bruger, ved ikke om det er sat rigtigt op, men det er heller ikke relevant her.

<%
For intNum = 1 To intPageCount
Response.Write \"<a href=index.asp?mode=news&page=\" & intNum & \">\" & intNum & \"</a> - \"
Next
%>

Det som er lige ovenover udskriver følgende:

1 2 3 4 5 6 7 8 9 10, det er jo så efter hvor mange sider man har, men ville spørge om det var muligt at man kunne gøre sådan her:
1 2 3 4 5 6 7 8 9 10 ... de 3 prikker skal så være link til de næste 10 sider, så den altså kun skriver links til 10 sider af gangen.

håber at der er nogen der forstår hvad jeg mener med det.

MvH. Jesper
Avatar billede eagleeye Praktikant
14. september 2001 - 14:48 #1
Prøv dette og test om jeg har forstået det rigtigt.

Prøv at skrifte dette:
For intNum = 1 To intPageCount
Response.Write \"<a href=index.asp?mode=news&page=\" & intNum & \">\" & intNum & \"</a> - \"
Next

Ud med Dett:

Basenum = int(intPage/10)
Basenum = Basenum * 10
If (Basenum+10) <= intPageCount then
  Vis_til = Basenum+10
Else
  Vis_til = intPageCount
End if
For intNum = (Basenum+1) To Vis_til
  Response.Write \"<a href=index.asp?mode=news&page=\" & intNum & \">\" & intNum & \"</a> - \"
Next
If (Basenum+10) < intPageCount then
Response.Write \"<a href=index.asp?mode=news&page=\" & Basenum+11 & \">...</a>\"
End if
Avatar billede psyclown Nybegynder
14. september 2001 - 16:14 #2
Det var lige hvad jeg manglede, hver så artig, her er du 100 point =) =) =)
Mange tak for hjælpen..

lige en ting til, det går da noget hurtigere med at svare herinde end det gør på asp.dk, så jeg vil benytte dette forum noget mere fremover :)

/Jesper
Avatar billede psyclown Nybegynder
14. september 2001 - 16:15 #3
Lige en lille fejl der...\"her er de 100 point\" skulle der stå =)
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