Avatar billede vester Novice
27. oktober 2001 - 17:28 Der er 8 kommentarer og
1 løsning

Jeg skal bruge en simpel paging.

Hvis og kun hvis der er over 10 poster på side 1,
skal der komme en side 2, og hvis der er over 10
på side 2, skal der være en side tre o.s.v.

Posterne kommer fra en tabellen news i Access databasen data.mdb,
som ligger her: ../../db/data.mdb


VesTer
Avatar billede somaliomar Praktikant
27. oktober 2001 - 17:34 #1
Avatar billede vester Novice
27. oktober 2001 - 17:39 #2
Problemet med den er at den hele tiden skriver at der er flere sider.

Hvis du kan lave den om, så den passer til mig, må du meget gerne det.

VesTer
Avatar billede somaliomar Praktikant
27. oktober 2001 - 18:19 #3
html><head>
<title>Paging af et recordset</title>
</head><body>

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

Set rs = Server.CreateObject(\"ADODB.RecordSet\")
strSQL = \"SELECT LinkURL FROM Links\"
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"../../db/data.mdb\")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 10
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Response.Write \"<p><b>Side \" & intPage & \" af \" & intPageCount & \"</b></p>\"
    Do While Not rs.EOF And intRecCount > 0
        Response.Write rs(\"LinkURL\") & \"<br>\"
    intRecCount = intRecCount - 1
    rs.MoveNext
    Loop
End If
rs.Close
Set rs = Nothing

Response.Write \"<p>Gå til side \"
For intNum = 1 To intPageCount
    Response.Write \"<a href=paging.asp?page=\" & intNum & \">\" & intNum & \"</a> \"
Next

Response.Write \"<p>\"
If Clng(intPage) > 1 Then
    Response.Write \"<a href=paging.asp?page=\" & intPage - 1 & \">&lt;&lt;</a>\"
Else
    Response.Write \"&lt;&lt;\"
End If

Response.Write \"&nbsp;\"

If Clng(intPage) < Clng(intPageCount) Then
    Response.Write \"<a href=paging.asp?page=\" & intPage + 1 & \">&gt;&gt;</a> \"
Else
    Response.Write \"&gt;&gt;\"
End If
%>

</body></html>
Avatar billede vester Novice
27. oktober 2001 - 18:50 #4
Ja, bortset fra at der ikke skal være << >>, hvis der ikke er en side 2.
Desuden skal der heller ikke være << på side 1.

Det er da i øvrigt den samme, som du linker til!!

VesTer
Avatar billede somaliomar Praktikant
27. oktober 2001 - 18:53 #5
Prøv så den her:

<html><head>
<title>Paging af et recordset</title>
</head><body>

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

Set rs = Server.CreateObject(\"ADODB.RecordSet\")
strSQL = \"SELECT LinkURL FROM Links\"
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"../../db/data.mdb\")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 10
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Response.Write \"<p><b>Side \" & intPage & \" af \" & intPageCount & \"</b></p>\"
    Do While Not rs.EOF And intRecCount > 0
        Response.Write rs(\"LinkURL\") & \"<br>\"
    intRecCount = intRecCount - 1
    rs.MoveNext
    Loop
End If
rs.Close
Set rs = Nothing

Response.Write \"<p>Gå til side \"
For intNum = 1 To intPageCount
    Response.Write \"<a href=paging.asp?page=\" & intNum & \">\" & intNum & \"</a> \"
Next

Response.Write \"<p>\"
If Clng(intPage) > 1 Then
    Response.Write \"<a href=paging.asp?page=\" & intPage - 1 & \">&lt;&lt;</a>\"
Else
    Response.Write \"det er kun en side\"
End If

Response.Write \"&nbsp;\"

If Clng(intPage) < Clng(intPageCount) Then
    Response.Write \"<a href=paging.asp?page=\" & intPage + 1 & \">&gt;&gt;</a> \"
Else
    Response.Write \"det var den sidste side\"
End If
%>

</body></html>
Avatar billede vester Novice
27. oktober 2001 - 19:00 #6
Hvorfor skriver den \"Gå til side\" ovenover outputtet?
Avatar billede somaliomar Praktikant
27. oktober 2001 - 19:04 #7
Bare slet den linje der hedder: Response.Write \"<p>Gå til side \"
Avatar billede vester Novice
27. oktober 2001 - 19:06 #8
Det jeg mente var: Hvorfor skrives det ovenover, når det i koden stå nedenunder?
Avatar billede vester Novice
27. oktober 2001 - 19:09 #9
Jeg har løst det.
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