Avatar billede jpj3 Nybegynder
23. februar 2003 - 13:29 Der er 9 kommentarer og
1 løsning

Paging til forum

Jeg har prøvet forskellige artikler men det er ikke lykkedes mig at få sat paging på denne side.
http://www.ct-lund.dk/test/forum/forumthreads.asp?forumid=5
Er der nogen der har et bud, jeg har prøvet med denne kode.

Den gav denne fejl.
http://www.ct-lund.dk/test/forum/forumthreads1.asp?forumid=5


<!--#include file="functions.inc"-->
<%
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

strSQL = "SELECT * FROM Forums WHERE (ID = " & Request("ForumID") & ")"
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
    strForum = rs("Forum")
    strDescription = rs("Description")
    intForumID = rs("ID")
End If

strSQL = "SELECT *, Format$([date],'dd/mm/yyyy') AS FormDate, Format$([date],'hh:mm') AS FormTime FROM Entries WHERE (ForumID = " & Request("ForumID") & ")"
strSQL = strSQL & " AND (OrgThread = True) ORDER BY ID DESC"
Set rs = myConn.Execute(strSQL)

If Not (rs.BOF Or rs.EOF) Then
  Do While Not rs.EOF
        strSQL = "SELECT Count(*) AS ItemCount FROM Entries WHERE (ReplyID = " & rs("Id") & ") AND (OrgThread <> TRUE)"
        Set recordCount = myConn.Execute(strSQL)
        strHTML = strHTML & "<tr><td bgcolor=#BBBB88><font face=Verdana size=2><a href=""viewmsg.asp?id=" & rs("ID") & "&ForumID=" & intForumID & """>" & Server.HTMLEncode(rs("Subject")) & "</font></a></td>"
        strHTML = strHTML & "<td bgcolor=#BBBB88 valign=top><font face=Verdana size=2>" & recordCount("ItemCount") & "</font></td>"
        strHTML = strHTML & "<td bgcolor=#BBBB88 valign=top><font face=Verdana size=2>" & rs("FormDate") & "</font></td></tr>"
        rs.MoveNext
    Loop
End If
myConn.Close
Set myConn = Nothing
%>
<html>
<head>
<title>Charlotte og Tina Lund.</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<style type="text/css">
    BODY { font-family:"Verdana, Arial, Helvetica, sans-serif"; font-size:70%;}

    DIV#divMenuBar { background-color:#CCCC33; }
    TABLE#tblMenuBar TD { font-size:60%; color:#CCCC33; padding:0px 5px 0px 5px; cursor:default; }
    TABLE#tblMenuBar TD.clsMenuBarItem { font-weight:bold; cursor:default; }

    /* These two style rules added for links in MenuBar */
    TABLE#tblMenuBar TD.clsMenuBarItem A { text-decoration:none; color:#000000; font-weight:bold; }
    TABLE#tblMenuBar TD.clsMenuBarItem A:hover { color:#FFFFFF; }
    DIV.clsMenu {
        font-size:90%; background-color:#CCCC33;
        position:absolute; visibility:hidden; width:130px;
        padding:5px 5px 5px 8px; border-top:1 white solid;
    }
    DIV.clsMenu A { text-decoration:none; color:#000000; font-weight:bold; }
    DIV.clsMenu A:hover { color:#FFFFFF; }
</style>
</head>
<body>

<p>&nbsp;</p>
<div align="center">
  <center>
    <table border="0" width="600" cellspacing="1" cellpadding="0" bgcolor="#FFFFFF">
      <tr bgcolor="#FFFFFF">
        <td width="596" colspan="2"><font face="Verdana" color="#CCCC33"
    size="2"><strong>Forum:</strong> <strong><%=strForum%></strong></font></td>
      </tr>
      <tr>
        <td valign="top" align="left" width="70%"><font face="Verdana" size="2"><%=strDescription%></font></td>
        <td valign="top" align="left" nowrap width="30%"><ul type="square">
            <li><a href="default.asp"><font face="Verdana"><b><small>Til oversigt</small></b></font></a></li>
            <li><font face="Verdana"><strong><a href="forumpost.asp?ForumId=<%=intForumID%>"><small>Opret
              indlæg</small></a><br>
              &nbsp;&nbsp; </strong></font></li>
          </ul></td>
      </tr>
      <tr bgcolor="#FFFFFF">
        <td width="598" colspan="2"><table border="0" width="100%" cellspacing="1" cellpadding="0">
            <tr bgcolor="#FFFFFF">
              <td width="234" bgcolor="#FFFFFF"><font face="Verdana" color="#CCCC33" size="2"><strong>Sp&oslash;rgsm&aring;l</strong></font></td>
              <td width="37"><font face="Verdana" color="#CCCC33" size="2"><strong>Svar</strong></font></td>
              <td width="117"><font face="Verdana" color="#CCCC33" size="2"><strong>Seneste
                indlæg</strong></font></td>
            </tr>
            <%=strHTML%></table></td>
      </tr>
    </table>
  </center>
</div>
</body>
</html>
Avatar billede eagleeye Praktikant
23. februar 2003 - 13:41 #1
Den kode du har vist er det den nye kode, jeg syntes ikke det liger noget med paging.

Har du kigger på denne?: http://activedeveloper.dk/aspdigital/kapitel2/paging.asp

Du vil gerne havde et koden rettet er det spørgsmålet eller et bud på den fejl du får?
Avatar billede jpj3 Nybegynder
23. februar 2003 - 14:06 #2
Ja det er den nye kode som skal pages.
Den kode der giver fejlen er denne.

<!--#include file="functions.inc"-->
<%
'***** start paging---------------TEST
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If
'***** end paging

Dim fid
fid = Request("ForumID")

'***** start forum code
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

strSQL = "SELECT * FROM Forums WHERE (ID = " & fid & ")"
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
    strForum = rs("Forum")
    strDescription = rs("Description")
    intForumID = rs("ID")
End If

strSQL = "SELECT *, Format$([date],'dd/mm/yyyy') AS FormDate, Format$([date],'hh:mm') AS FormTime FROM Entries WHERE (ForumID = " & Request("ForumID") & ")"
strSQL = strSQL & " AND (OrgThread = True) ORDER BY ID DESC"
myConn.CursorLocation = 3
Set rs = myConn.Execute(strSQL)

If Not (rs.BOF Or rs.EOF) Then
'***** start paging
    rs.PageSize = 15
    rs.AbsolutePage = Intpage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Do While Not rs.EOF And intRecCount > 0
'***** end paging
  Do While Not rs.EOF
    strSQL = "SELECT Count(*) AS ItemCount FROM Entries WHERE (ReplyID = " & rs("Id") & ") AND (OrgThread <> TRUE)"
    Set recordCount = myConn.Execute(strSQL)
    strHTML = strHTML & "<tr><td bgcolor=#BBBB88><font face=Verdana size=2><a href=""viewmsg.asp?id=" & rs("ID") & "&ForumID=" & intForumID & """>" & Server.HTMLEncode(rs("Subject")) & "</font></a></td>"
    strHTML = strHTML & "<td bgcolor=#BBBB88 valign=top><font face=Verdana size=2>" & recordCount("ItemCount") & "</font></td>"
    strHTML = strHTML & "<td bgcolor=#BBBB88 valign=top><font face=Verdana size=2>" & rs("FormDate") & "</font></td></tr>"

'***** start paging
    intRecCount = intRecCount - 1
    rs.MoveNext
    Loop
'***** end paging
End If
myConn.Close
Set myConn = Nothing
%>
<html>
<head>
<title>forum</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JScript">
<!-- // DDMenu

  var eOpenMenu = null;
  function OpenMenu(eSrc,eMenu){
    eMenu.style.left = eSrc.parentElement.offsetLeft + divMenuBar.offsetLeft;
    eMenu.style.top = divMenuBar.offsetHeight + divMenuBar.offsetTop;
    eMenu.style.visibility = "visible";
    eOpenMenu = eMenu;
  }

  function CloseMenu(eMenu){
    eMenu.style.visibility = "hidden";
    eOpenMenu = null;
  }

  function MenuBar_over(){
    var eSrc = window.event.srcElement;
    if ("A" == eSrc.tagName.toUpperCase()){
      var eMenu = document.all[eSrc.parentElement.id.replace("tdMenuBarItem","divMenu")];
      if (eOpenMenu && eOpenMenu != eMenu){
        CloseMenu(eOpenMenu);}
      if (eMenu){
          OpenMenu(eSrc,eMenu);}
    }
  }

  function MenuBar_out(){
    var eTo = window.event.toElement;
    if (eOpenMenu && eTo && !eOpenMenu.contains(eTo) && "tblMenuBar" != eTo.id){
      CloseMenu(eOpenMenu)}
    }

  function Menu_out(){
    var eSrc = window.event.toElement;
    if (eOpenMenu && !eOpenMenu.contains(eSrc) && !divMenuBar.contains(eSrc)){
      CloseMenu(eOpenMenu)}
    }

//-->
</script>
<style type="text/css">
    BODY { font-family:"Verdana, Arial, Helvetica, sans-serif"; font-size:70%;}

    DIV#divMenuBar { background-color:#CCCC33; }
    TABLE#tblMenuBar TD { font-size:60%; color:#CCCC33; padding:0px 5px 0px 5px; cursor:default; }
    TABLE#tblMenuBar TD.clsMenuBarItem { font-weight:bold; cursor:default; }

    /* These two style rules added for links in MenuBar */
    TABLE#tblMenuBar TD.clsMenuBarItem A { text-decoration:none; color:#000000; font-weight:bold; }
    TABLE#tblMenuBar TD.clsMenuBarItem A:hover { color:#FFFFFF; }
    DIV.clsMenu {
        font-size:90%; background-color:#CCCC33;
        position:absolute; visibility:hidden; width:130px;
        padding:5px 5px 5px 8px; border-top:1 white solid;
    }
    DIV.clsMenu A { text-decoration:none; color:#000000; font-weight:bold; }
    DIV.clsMenu A:hover { color:#FFFFFF; }
</style>
</head>
<body>
<div align="center"></div>
<p>&nbsp;</p>
<div align="center">
  <center>
    <table border="0" width="600" cellspacing="1" cellpadding="0" bgcolor="#FFFFFF">
      <tr bgcolor="#FFFFFF">
        <td width="596" colspan="2"><font face="Verdana" color="#CCCC33"
    size="2"><strong>Forum:</strong> <strong><%=strForum%></strong></font></td>
      </tr>
      <tr>
        <td valign="top" align="left" width="70%"><font face="Verdana" size="2"><%=strDescription%></font></td>
        <td valign="top" align="left" nowrap width="30%"><ul type="square">
            <li><a href="default.asp"><font face="Verdana"><b><small>Til oversigt</small></b></font></a></li>
            <li><font face="Verdana"><strong><a href="forumpost.asp?ForumId=<%=intForumID%>"><small>Opret
              indlæg</small></a><br>
              &nbsp;&nbsp; </strong></font></li>
          </ul></td>
      </tr>
      <tr bgcolor="#FFFFFF">
        <td width="598" colspan="2"><table border="0" width="100%" cellspacing="1" cellpadding="0">
            <tr bgcolor="#FFFFFF">
              <td width="234" bgcolor="#FFFFFF"><font face="Verdana" color="#CCCC33" size="2"><strong>Sp&oslash;rgsm&aring;l</strong></font></td>
              <td width="37"><font face="Verdana" color="#CCCC33" size="2"><strong>Svar</strong></font></td>
              <td width="117"><font face="Verdana" color="#CCCC33" size="2"><strong>Seneste
                indlæg</strong></font></td>
            </tr>
            <%=strHTML%></table></td>
      </tr>
    </table>
    <%
'***** start paging
Response.Write "<p><b>Page " & intPage & " of " & intPageCount & "</b></p>"
Response.Write "<p>Go to page "
For intNum = 1 To intPageCount
    Response.Write "<a href=forumthreads.asp?forumid="&fid&"&page=" & intNum & ">" & intNum & "</a> "
Next

Response.Write "&nbsp;|&nbsp;"

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

Response.Write "&nbsp;|&nbsp;"

If Clng(intPage) < Clng(intPageCount) Then
    Response.Write "<a href=forumthreads.asp?forumid="&fid&"&page=" & intPage + 1 & ">Next &gt;</a> "
Else
    Response.Write "Next &gt;"
End If
'***** end paging
Set rs = Nothing
%>
  </center>
</div>
</body>
</html>
Avatar billede eagleeye Praktikant
23. februar 2003 - 14:39 #3
Du har to Do whil lig efter hinanden:

    Do While Not rs.EOF And intRecCount > 0
'***** end paging
  Do While Not rs.EOF

Lav det om til en og bruge den føste af dem:

    Do While Not rs.EOF And intRecCount > 0
'***** end paging
Avatar billede jpj3 Nybegynder
23. februar 2003 - 14:44 #4
Det virker fint på første side

http://www.ct-lund.dk/test/forum/forumthreads1.asp?forumid=5

Klikker man next henter den det hele.
Avatar billede eagleeye Praktikant
23. februar 2003 - 14:57 #5
hmm underligt..

Prøv at tilføje:
Set rs = Server.CreateObject("ADODB.recordset")
Efter den tilsvarne linie med Set myConn = Server.Create....

Og ændre:
Set rs = myConn.Execute(strSQL)

Til:
rs.Open strSQL,myConn,1

Jeg har før set den det ikke virker når man bruger Set rs = myconn.exec...
Det var godt nok en anden måde den så fejlede på men måske.

Du bruger denne do while mend intRecCount?

Do While Not rs.EOF And intRecCount > 0
Avatar billede jpj3 Nybegynder
23. februar 2003 - 15:07 #6
Jeg har fundet fejlen
Alle linier med denne a href i 

Response.Write "<a href=forumthreads.asp?forumid="&fid&"&page=" & intNum & ">" & intNum & "</a> "

Skulle laves om til denne.
Den henviser til en forkert url.

Response.Write "<a href=forumthreads1.asp?forumid="&fid&"&page=" & intNum & ">" & intNum & "</a> "

Så det virker nu.
Avatar billede jpj3 Nybegynder
23. februar 2003 - 15:07 #7
Mange tak for hjælpen.
Avatar billede eagleeye Praktikant
23. februar 2003 - 15:08 #8
arh :) det havde jeg ikke set

Hvis du altid vil loade samme fil kan man udelade filnanvet:

Response.Write "<a href=?forumid="&fid&"&page=" & intNum & ">" & intNum & "</a> "
Avatar billede eagleeye Praktikant
23. februar 2003 - 15:09 #9
Det virker men jeg ved ikke om det er 100% iorden med HTML standarten.
Avatar billede jpj3 Nybegynder
23. februar 2003 - 15:14 #10
Jeg tror jeg holder mig til den fulde adresse.
Den kan jeg selv klare at lave, også til en anden gang.
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