Avatar billede getaway Nybegynder
28. august 2001 - 22:56 Der er 5 kommentarer og
3 løsninger

Paging

Hey i gakkede nørder...

Kan I hjælpe mig med noget paging ?

Jeg har et lille problem...
det ser sådan har ud :

@@@@@@@@@

If Request.Querystring(\"pageno\") <> \"\" then
    intPage = Request.Querystring(\"pageno\")
end if
If isNumeric(intPage) = False Or intPage < 1 Then
  intPage = 1
End If

If Request.Querystring(\"PageSize\") = \"\" then
    rs.PageSize = 10
Else
    rs.PageSize = Request.Querystring(\"PageSize\")
End If

rs.AbsolutePage = intPage
intRecCount = rs.PageSize
intPageCount = rs.PageCount

@@@@@@

Der skulle være fejl i linjen med \"rs.AbsolutePage = intPage\"...
Jeg har i forvejen en querystring der hedder page, og en anden der hedder sub (men som ikke bliver brugt på siden !)


HJÆÆÆLP...
Avatar billede jespernaur Nybegynder
28. august 2001 - 23:09 #1
Hvilken fejl får du?
Avatar billede darkhero Nybegynder
29. august 2001 - 07:39 #2
Avatar billede webbe Nybegynder
29. august 2001 - 09:48 #3
Prøv følgende script - det virker i hvert fald hos mig på en Access DB:

<%@language=\"VBSCRIPT\"%>
<%
Option Explicit
%>
<%
Dim Connect, rs, rs1, intPage, intRecCount, intPageCount

Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"dsn_name\"

Set rs1 = Server.CreateObject(\"ADODB.Recordset\")
rs1.Open \"SELECT * FROM table_name\", Connect, 1, 3

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

If Not (rs1.BOF Or rs1.EOF) Then
    rs1.PageSize = 1
    rs1.AbsolutePage = intPage
    intRecCount = rs1.PageSize
    intPageCount = rs1.PageCount
    Do While Not rs1.EOF AND intRecCount < 0
    intRecCount = intRecCount - 1
    rs1.MoveNext
    loop
End if
%>
<html>
<head>
<title></title>
</head>
<body background=\"images/structure/popup_bg.jpg\">
<table border=\"0\" cellpadding=\"0\" cellspacing=\"5\" width=\"600\" align=\"center\">
    <tr>
        <td align=\"center\"><img src=\"images/galleri/<%=rs1(\"Billede\")%>\" border=\"1\"><br><br><font face=\"Verdana\" size=\"1\" color=\"#FFFFFF\">
<%
If Clng(intPage) > 1 Then
    Response.Write(\"<a href=\"\"galleri_popup.asp?page=\"&intPage - 1&\"&dato=\"&request(\"dato\")&\"\"\"><font face=\"\"Verdana\"\" size=\"\"1\"\" color=\"\"#FFFFFF\"\"><< Forrige</font></a>\")
Else
    Response.Write(\"<font face=\"\"Verdana\"\" size=\"\"1\"\" color=\"\"#FFFFFF\"\"><< Forrige</font>\")
End if
%>
<font face=\"Verdana\" size=\"1\" color=\"#FFFFFF\">&#32;-&#32;
<%
If Clng(intPage) <Clng(intPageCount) Then
    Response.Write(\"<a href=\"\"galleri_popup.asp?page=\"&intPage + 1&\"&dato=\"&request(\"dato\")&\"\"\"><font face=\"\"Verdana\"\" size=\"\"1\"\" color=\"\"#FFFFFF\"\">Næste >></font></a>\")
Else
    Response.Write(\"<font face=\"\"Verdana\"\" size=\"\"1\"\" color=\"\"#c0c0c0\"\">Næste >></font>\")
End if
%></font></td>
    </tr>
</table>
</body>
</html>
Avatar billede oswald Nybegynder
29. august 2001 - 10:19 #4
Problemet med at lade ADO klarer paging, er at hele recordsettet hentes ind i hukommelsen, så man kunne lige så godt lave en rs.mode <start af page> og så udskrive de næste <pagesize elementer>.

En alternativ løsning er at nøjes med at hente de records som man skal bruge, med følgende SQL. (Skrevet til MS SQL). Det kan virke lidt kringlet, men tro mig, hvis du har mange records så er den guld værd.

SELECT * FROM
(SELECT TOP 10 * FROM
  (SELECT TOP 30 * FROM Test ORDER BY RANK DESC) da
  ORDER BY rank) art
ORDER BY rank DESC

\'10\' er antallet af records du vil have ud.
\'30\' er starten af din recordpage + antallet af records
\'(SELECT TOP 30 * ...) da\' er selve din forspørgsel
\'rank\' er den parameter du vil sorterer efter. (Bemærk at sorteringsrækkefølgen skifter)
Avatar billede getaway Nybegynder
29. august 2001 - 18:54 #5
der var intet der virkede....
sorry
Avatar billede oswald Nybegynder
30. august 2001 - 09:59 #6
Hvad melder den af fejl?
Avatar billede oswald Nybegynder
30. august 2001 - 10:05 #7
Og hvilken version af ADO bruger du. (det kan du nemt finde ud af med \'Connect.Version\')
Avatar billede getaway Nybegynder
26. september 2001 - 18:57 #8
Tak for hjælpen.... virkede ikke !?
Sikkert min fejl...
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