Avatar billede jpj3 Nybegynder
20. januar 2003 - 23:40 Der er 10 kommentarer og
1 løsning

Paging til forum

Jeg har lavet et forum på denne side
http://www.ct-lund.dk/forum/default.asp
Det er blevet lidt for populært. Grundet der er mange brugere

Nu vil jeg gerne have lavet så den kun viser de 20 nyeste spørgsmål og resten skal vises som dette.
[1][2][3][4][5]
Her er koden der finder spørsmålene.
<%
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
%>

******************
Her er koden der viser spørsmålene.

<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>
Avatar billede medions Nybegynder
20. januar 2003 - 23:48 #1
http://activedeveloper.dk/aspdigital/kapitel2/paging.asp

læs denne artikel, den beskriver alt hvad du har behov for...

//>Rune
Avatar billede jpj3 Nybegynder
20. januar 2003 - 23:52 #2
Er det lige til at smide ind uden alt for store problemer
Avatar billede medions Nybegynder
20. januar 2003 - 23:54 #3
Yepzer!

//>Rune
Avatar billede jpj3 Nybegynder
20. januar 2003 - 23:56 #4
Vi prøver
Avatar billede jpj3 Nybegynder
21. januar 2003 - 00:05 #5
Jeg fik denne fejl.
Microsoft VBScript compilation error '800a03f6'

Expected 'End'

/test/forum/forumthreads.asp, line 181

Linie 181 markeret med stjerner.

<%
'start
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If
'slut
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)
'start
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 10
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
'slut
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>"
'start
        intRecCount = intRecCount - 1
'slut       
        rs.MoveNext
    Loop
End If
myConn.Close
Set myConn = Nothing
%>

***********************

<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>
<%
'start
Response.Write "<p>Gå til side "
For intNum = 1 To intPageCount
    Response.Write "<a href=forumthreads.asp?page=" & intNum & ">" & intNum & "</a> "
Next

Response.Write "<p>"
If Clng(intPage) > 1 Then
    Response.Write "<a href=forumthreads.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=forumthreads.asp?page=" & intPage + 1 & ">&gt;&gt;</a> "
'******
Else
'*****
    Response.Write "&gt;&gt;"
End If
%>
Avatar billede medions Nybegynder
21. januar 2003 - 00:07 #6
<%
'start
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If
'slut
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)
'start
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 10
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
'slut
End If
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>"
'start
        intRecCount = intRecCount - 1
'slut       
        rs.MoveNext
    Loop
End If
myConn.Close
Set myConn = Nothing
%>

***********************

<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>
<%
'start
Response.Write "<p>Gå til side "
For intNum = 1 To intPageCount
    Response.Write "<a href=forumthreads.asp?page=" & intNum & ">" & intNum & "</a> "
Next

Response.Write "<p>"
If Clng(intPage) > 1 Then
    Response.Write "<a href=forumthreads.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=forumthreads.asp?page=" & intPage + 1 & ">&gt;&gt;</a> "
'******
Else
'*****
    Response.Write "&gt;&gt;"
End If
%>

//>Rune
Avatar billede jpj3 Nybegynder
21. januar 2003 - 00:16 #7
Det gav denne fejl.
ADODB.Recordset error '800a0cb3'

Unknown runtime error

/test/forum/forumthreads.asp, line 26

Linie 23 - 29
'start
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 10
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
'slut
Avatar billede eagleeye Praktikant
26. januar 2003 - 02:33 #8
Når du laver paging af recordset kan man ikke åbne recordsetet sådan her:
Set rs = myConn.Execute(strSQL)

Det skal være sådan her:

rs.Open strSQL, myConn, 1

Det skal laves i linien lige før 'start
Jeg kan se samme recordset bruges i nogle linier over så du skal nok også havde en rs.Close ind lige foran den nye rs.Open linje.

Til sidst skal du efter denne linie:

Set myConn = Server.CreateObject("ADODB.Connection")

Tilføje:

Set rs = Server.CreateObject("ADODB.Recordset")
Avatar billede jpj3 Nybegynder
23. februar 2003 - 15:16 #9
Jeg fik ordnet det.
Se mere her.
http://www.eksperten.dk/spm/320720
Avatar billede webdogs.dk Nybegynder
16. juli 2003 - 22:15 #10
Hej jpj3 jeg er interesseret i at få lavet sådan et forum er det noget du laver for andre ?hvor meget ville det koste at få lavet et der er tilpasset min side med farve ?
Avatar billede jpj3 Nybegynder
16. juli 2003 - 23:47 #11
Har du noget jeg kan kigge på.
WWW adresse.
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