Avatar billede nidyahou Praktikant
18. december 2003 - 14:45 Der er 3 kommentarer og
1 løsning

paging virker ikke

denne kode:

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

Set Conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "Select * From Threads where Threadok = 1 Order by Threaddato Desc"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../System.mdb")
Conn.Open strDSN
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>"
    %>
    <table width="100%" border="0" cellspacing="0" cellpadding="0" class="oversigt">
  <tr bgcolor="#FF9900">
    <td>
      <center>
        Forfatter:&nbsp;
      </center>
    </td>
    <td>
      <center>
        Tr&aring;d&nbsp;
      </center>
    </td>
    <td>
      <center>
        Dato&nbsp;
      </center>
    </td>
    <td>
    <center>
    Posts
    </center>
    </td>
    <% if cint(session("level")) > 6 then %>
    <td>
      <center>
        slet
      </center>
    </td>
   
<% end if %>
<% 
strSum =  "SELECT COUNT(Threadok) AS comments FROM Threads WHERE Threadok = 0 AND Comid = " & rs("Id")
set strSum = Conn.Execute(strSum)
Do While Not (rs.EOF) And (NOT strSum.EOF) And intRecCount > 0
%>
<tr>
    <td>
      <center>
        <% Response.Write rs("Threadskriver") %>
      </center>
    </td>
    <td>
      <center>
        <% Response.Write "<a href=""forum.asp?funk=se&id=" & rs("Id") & """>" & rs("Thread") & "</a>" %>
      </center>
    </td>
    <td class="dato">
      <center>
        <% Response.Write rs("Threaddato") %>
      </center>
    </td>
    <td>
      <center>
        <% Response.Write strSum("comments") %>
      </center></td>
      <% if cint(session("level")) > 6 then %>
    <td>
    <center>
  <% Response.Write "<a href=""forum.asp?funk=slet&id=" & rs("Id") & """>slet</a>" %>
  </center></td>
  <% end if %>
    </tr>
  <% intRecCount = intRecCount - 1
    rs.movenext
    strSum.movenext
    Loop
    %>
</table>
<%
end if
end if

rs.Close
Set rs = Nothing
Conn.Close
set Conn = Nothing

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

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

Response.Write "&nbsp;"

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

denne kode viser 6 sider med 1 post på hver side hvorfor ikke 20 på hver side?
Avatar billede netro Nybegynder
18. december 2003 - 16:47 #1
Først og fremmest hedder det jo:

rs.PageSize = 20

- hvis du ønsker 20 pr. side. Ændrer det på noget?
Avatar billede netro Nybegynder
18. december 2003 - 16:51 #2
Det er denne linie, der giver fejlen:

Do While Not (rs.EOF) And (NOT strSum.EOF) And intRecCount > 0

Der er nemlig kun en record i recordsættet "strSum". Ret til:

Do While Not (rs.EOF) And intRecCount > 0
Avatar billede nidyahou Praktikant
18. december 2003 - 20:03 #3
StrSum har jo en forskellige værdi for hver tråd, den får også besked på at gå videre til næste record. Jeg får derfor fejl hvis jeg fjerner NOT strSum.EOF. Det mærkelige ved denne fejl at ligegyldigt antal records er der 6 sider og 1 post på hver.
Avatar billede nidyahou Praktikant
01. januar 2004 - 23:50 #4
lukker
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