webForumDet fria alternativet

Paging problem :) kod finns

2 svar · 210 visningar · startad av znyder

znyderMedlem sedan dec. 2002172 inlägg
#1
<%
Dim objConn, strSQL, objRS, intPage, intCount

If Request.QueryString("pg") = "" OR IsNumeric(Request.QueryString("pg")) = False Then
  intPage = 1
Else
  intPage = Int(CInt(Request.QueryString("pg")))
End If

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/listmygames.mdb")

strSQL = "SELECT * FROM forum WHERE sektion=" & Request.QueryString("sektion") & " AND forums_typ='topic' ORDER BY nyaste_tid DESC"

'response.write strSQL

Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, objConn, 1, 3

With objRS
  .AbsolutePage = intPage
  .PageSize = 1
End With

If objRS.EOF Then
  Response.Write("Det finns inga poster...</TABLE>")
Else
  Do Until objRS.EOF OR intCount = objRS.PageSize
    With Response
      .Write "<TR>"
      .Write "<TD HEIGHT=""40"" BGCOLOR=""" & color7 & """ ALIGN=""center""><IMG SRC=""bilder/icoTOPIC.gif""></TD>"
      .Write "<TD HEIGHT=""40"" BGCOLOR=""" & color7 & """><FONT SIZE=""1""><IMG SRC=""bilder/inv.gif""> <A HREF=""forum.asp?sektion=" & Request.QueryString("sektion") & "&topic=" & objRs("ID") & """>" & addforum(objRs("titel")) & "</A></TD>"
      .Write "<TD HEIGHT=""40"" BGCOLOR=""" & color7 & """><FONT SIZE=""1""><IMG SRC=""bilder/inv.gif""> <A HREF=""profil.asp?anv_namn=" & objRs("skapad_anv") & """>" & objRs("skapad_anv") & "</A></TD>"
      .Write "<TD HEIGHT=""40"" BGCOLOR=""" & color7 & """ ALIGN=""center""><FONT SIZE=""1""> " & objRs("svar") & "</TD>"
      .Write "<TD HEIGHT=""40"" BGCOLOR=""" & color7 & """ ALIGN=""center""><FONT SIZE=""1""> " & objRs("besok") & "</TD>"

      tid = Left(Right(objRs("nyaste_tid"),8),5)
      datum = Left(objRs("nyaste_tid"),10)
      manad = MonthName(Month(datum))
      manad = Left(manad, 3)
      manad = Ucase(Left(manad, 1)) & Right(manad,2) & "."
      dag = Day(datum)
      datum = dag & " " & manad & " " & tid

      .Write "<TD HEIGHT=""40"" BGCOLOR=""" & color7 & """ ALIGN=""right""><FONT SIZE=""1""> " & datum & " <IMG SRC=""bilder/inv.gif""><BR><A HREF=""profil.asp?anv_namn=" & objRs("nyaste_anv") & """>" & objRs("nyaste_anv") & "</A> <IMG SRC=""bilder/inv.gif""></TD>"
      .Write "</TR>"
    End With
    objRS.MoveNext
    intCount = intCount + 1
  Loop

Response.Write "</TABLE><P>"

  If objRS.PageCount > 1 Then
    If intPage > 1 Then
      Response.Write("<a href=""forum.asp?sektion=" & Request.QueryString("sektion") & "&pg=1"">&lt;&lt;</a> ")
      Response.Write("<a href=""forum.asp?sektion=" & Request.QueryString("sektion") & "&pg=" & intPage - 1 & """>&lt;</a> ")
    Else
      Response.Write("&lt;&lt; ")
      Response.Write("&lt; ")
    End If

    For i = 1 To objRS.PageCount
      If i <> intPage Then
        Response.Write("<a href=""forum.asp?sektion=" & Request.QueryString("sektion") & "&pg=" & i & """>" & i & "</a> ")
      Else
        Response.Write(i & " ")
      End If
    Next

    If intPage < objRS.PageCount Then
      Response.Write("<a href=""forum.asp?sektion=" & Request.QueryString("sektion") & "&pg=" & intPage + 1 & """>&gt;</a> ")
      Response.Write("<a href=""forum.asp?sektion=" & Request.QueryString("sektion") & "&pg=" & objRS.PageCount & """>&gt;&gt;</a> ")
    Else
      Response.Write("&gt; ")
      Response.Write("&gt;&gt; ")
    End If
  End If
End If

objRS.Close : Set objRS = Nothing
objConn.Close : Set objConn = Nothing
%>

Satte pagesize till 1 eftersom jag ville testa om det funka (har bara 3 posts i databas). Men nu kommer det fina problemet...

När jag trycker på 2 (Nästa sida) så kommer jag till forum.asp och där säger den att det inte finns några poster... Vad kan vara fel?? Tack på förhand :)

SebbeMedlem sedan jan. 20032 285 inlägg
#2

Vad säger den om du lägger in With-satsen innanför If-satsen som kontrollerar om objRS är EOF?

...

If objRS.EOF Then
  Response.Write("Det finns inga poster...</TABLE>")
Else
  With objRS
    .AbsolutePage = intPage
    .PageSize = 1
  End With

  Do Until objRS.EOF OR intCount = objRS.PageSize
    ...
znyderMedlem sedan dec. 2002172 inlägg
#3

Det funkade tyvärr inte :/
Så jag trashade den och kör med en annan istället :)

177 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
174 ms — hämta tråd, inlägg och bilagor (db)