Avatar billede dtc Nybegynder
27. februar 2002 - 09:36 Der er 4 kommentarer og
1 løsning

Kun vise 10 poster pr. side i gæstebog......

Hvordan begrænser jeg antallet af poster der bliver vist pr. side??? Jeg havde tænkt at der skulle være 10 poster pr. side - dvs. at når antallet af poster overstiger 10 skal den selv generere en ny side med de resterende poster!!!! Det skal fungere sådan at de nyeste indlæg altid bliver vist først!!!

Koderne se sådan ud....

                  <%
  DO WHILE NOT rs.EOF
    ID = rs("ID")
    overskrift = rs("overskrift")
    besked = rs("besked")
    navn = rs("navn")
    Dato = rs("Dato")
    email = rs("email")
    www = rs("www")
    %>
                    <font size="1"><%=dato%><br>written by:<a href="mailto:<%=email%>"> <%=navn%></a><br>homepage:<a href="<%=www%>" target="_blank"> <%=www%></a></font><br><br>
                    <font size=2><b><%=overskrift%></b></font><br><br>
                    <%=besked%><br>
              <hr noshade size="1" color="000000">
                  <%
    rs.MoveNext
  LOOP
  RS.Close

conn.Close
Set conn = nothing
Set SQLstmt = nothing
    %>
   
Avatar billede senj Nybegynder
27. februar 2002 - 09:49 #1
Avatar billede dtc Nybegynder
27. februar 2002 - 10:57 #2
HMMMM...jeg kan altså ikke rigtig få det hen......prøv at se på:

http://www.denhearts.dk/guestbook2.asp

Her er de nyeste koder - nogen forslag???

<% side = "guestbook" %>
<!-- #include file="count-script.txt" -->
<html>
<head>
<title>Kennel Denhearts :: Dogue de Bordeaux ::</title>

<style type="text/css">
<!--
body     {  font-family: Verdana, Arial; font-size: 8pt; color: #000000; text-decoration: none;}
td         {  font-family: Verdana, Arial; font-size: 8pt; color: #000000; text-decoration: none;}
a         {  font-family: Verdana, Arial; font-size: 8pt; color: #ffffff; font-weight: bold; text-decoration: none; cursor: hand}
a:hover {  font-family: Verdana, Arial; font-size: 8pt; color: #000000; text-decoration: none; cursor: hand}

-->
</style>
<style type="text/css">
BODY{
  scrollbar-3d-light-color: #c5c5a8;
  scrollbar-arrow-color: #000000;
  scrollbar-base-color: #000000;
  scrollbar-dark-shadow-color: #ffffff;
  scrollbar-face-color: #999988;
  scrollbar-highlight-color: #ffffff;
  scrollbar-shadow-color: #ffffff;
}
</style>



</head>

<body bgcolor="#666666" leftmargin="0" topmargin="0">
<%

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("guestbook.mdb")

SQLstmt = "SELECT * FROM guestbook ORDER BY ID desc;"
'
'response.write SQLstmt

Conn.Execute (SQLstmt)

Set rs = conn.Execute(SQLstmt)
  %>
 
<table width="100%" border="0" height="100%">
  <tr>
    <td align="center" valign="middle">
      <table width="660" border="0" cellspacing="4" height="400" bgcolor="#666666">
        <tr>
          <td rowspan="2" bgcolor="999988" width="150" valign="top" align="center">
            <!--#include file="menu.htm" -->
          </td>
          <td bgcolor="c5c5a8" valign="middle" align="center" height="60"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="520" height="35">
              <param name=movie value="flash/guestbook.swf">
              <param name=quality value=high><param name="LOOP" value="false">
              <embed src="flash/guestbook.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="520" height="35" loop="false">
              </embed>
            </object></td>
        </tr>
        <tr>
          <td bgcolor="c5c5b8" valign="top" align="center" height="344">
            <table width="470" border="0" cellspacing="0">
              <tr>
                <td valign="top">
                  <p>&nbsp;</p>
                </td>
              </tr>
              <tr>
                <td valign="top" bgcolor="#000000" height="1"></td>
              </tr>
              <tr>
                <td valign="top" bgcolor="999988">
                  <div align="right"><a href="form.asp">Please write in the guestbook</a>&nbsp;&nbsp;</div>
                </td>
              </tr>
              <tr>
                <td valign="top" bgcolor="#000000" height="1"></td>
              </tr>
              <tr>
                <td valign="top" align="left">
                  <%
  DO WHILE NOT rs.EOF
    ID = rs("ID")
    overskrift = rs("overskrift")
    besked = rs("besked")
    navn = rs("navn")
    Dato = rs("Dato")
    email = rs("email")
    www = rs("www")
    %>
                    <font size="1"><%=dato%><br>written by:<a href="mailto:<%=email%>"> <%=navn%></a><br>homepage:<a href="<%=www%>" target="_blank"> <%=www%></a></font><br><br>
                    <font size=2><b><%=overskrift%></b></font><br><br>
                    <%=besked%><br>
              <hr noshade size="1" color="000000">
                                <%
    rs.MoveNext
  LOOP
  RS.Close

conn.Close
Set conn = nothing
Set SQLstmt = nothing
    %>
    </td>
    <%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT ID FROM guestbook"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("guestbook.mdb")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 5
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Response.Write "<p><b>Side " & intPage & " af " & intPageCount & "</b></p>"
    Do While Not rs.EOF And intRecCount > 0
Response.Write rs("ID") & "<br>"
                     
    intRecCount = intRecCount - 1
    rs.MoveNext
    Loop
End If
rs.Close
Set rs = Nothing

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

Response.Write "<p>"
If Clng(intPage) > 1 Then
    Response.Write "<a href=guestbook2.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=guestbook2.asp?page=" & intPage + 1 & ">&gt;&gt;</a> "
Else
    Response.Write "&gt;&gt;"
End If
%>
              </tr>
              <tr>
                <td valign="top" bgcolor="#000000" height="1"></td>
              </tr>
              <tr>
                <td valign="top" bgcolor="999988"><div align="right"><a href="form.asp">Please write in the guestbook</a>&nbsp;&nbsp;</div></td>
              </tr>
              <tr>
                <td valign="top" bgcolor="#000000" height="1"></td>
              </tr>
            </table>
            <p>&nbsp;</p>
            </td>
        </tr>
      </table>
      <table width="660" border="0" cellspacing="0">
        <tr>
          <td>&nbsp;</td>
        </tr>
      </table>
    </td>
  </tr>
</table>
</body>
</html>
Avatar billede coltau Juniormester
27. februar 2002 - 12:50 #3
Jeg har rettet lidt i koden som så ser sådan ud: Jeg har desværre ikke haft mulighed for at teste det - men det ka' du jo gøre. :-)

<% side = "guestbook" %>
<!-- #include file="count-script.txt" -->
<html>
<head>
<title>Kennel Denhearts :: Dogue de Bordeaux ::</title>

<style type="text/css">
<!--
body    {  font-family: Verdana, Arial; font-size: 8pt; color: #000000; text-decoration: none;}
td        {  font-family: Verdana, Arial; font-size: 8pt; color: #000000; text-decoration: none;}
a        {  font-family: Verdana, Arial; font-size: 8pt; color: #ffffff; font-weight: bold; text-decoration: none; cursor: hand}
a:hover {  font-family: Verdana, Arial; font-size: 8pt; color: #000000; text-decoration: none; cursor: hand}

-->
</style>
<style type="text/css">
BODY{
  scrollbar-3d-light-color: #c5c5a8;
  scrollbar-arrow-color: #000000;
  scrollbar-base-color: #000000;
  scrollbar-dark-shadow-color: #ffffff;
  scrollbar-face-color: #999988;
  scrollbar-highlight-color: #ffffff;
  scrollbar-shadow-color: #ffffff;
}
</style>



</head>

<body bgcolor="#666666" leftmargin="0" topmargin="0">
<%

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

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("guestbook.mdb")

Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open "SELECT * FROM guestbook ORDER BY Dato desc;", strDSN, 1, 3
rs.PageSize = 5
rs.AbsolutePage = intPage
intRecCount = rs.PageSize
intPageCount = rs.PageCount

'response.write SQLstmt

  %>
 
<table width="100%" border="0" height="100%">
  <tr>
    <td align="center" valign="middle">
      <table width="660" border="0" cellspacing="4" height="400" bgcolor="#666666">
        <tr>
          <td rowspan="2" bgcolor="999988" width="150" valign="top" align="center">
            <!--#include file="menu.htm" -->
          </td>
          <td bgcolor="c5c5a8" valign="middle" align="center" height="60"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="520" height="35">
              <param name=movie value="flash/guestbook.swf">
              <param name=quality value=high><param name="LOOP" value="false">
              <embed src="flash/guestbook.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="520" height="35" loop="false">
              </embed>
            </object></td>
        </tr>
        <tr>
          <td bgcolor="c5c5b8" valign="top" align="center" height="344">
            <table width="470" border="0" cellspacing="0">
              <tr>
                <td valign="top">
                  <p>&nbsp;</p>
                </td>
              </tr>
              <tr>
                <td valign="top" bgcolor="#000000" height="1"></td>
              </tr>
              <tr>
                <td valign="top" bgcolor="999988">
                  <div align="right"><a href="form.asp">Please write in the guestbook</a>&nbsp;&nbsp;</div>
                </td>
              </tr>
              <tr>
                <td valign="top" bgcolor="#000000" height="1"></td>
              </tr>
              <tr>
                <td valign="top" align="left">
                  <%
  for I = 1 to RS.PageSize
    ID = rs("ID")
    overskrift = rs("overskrift")
    besked = rs("besked")
    navn = rs("navn")
    Dato = rs("Dato")
    email = rs("email")
    www = rs("www")
    %>
                    <font size="1"><%=dato%><br>written by:<a href="mailto:<%=email%>"> <%=navn%></a><br>homepage:<a href="<%=www%>" target="_blank"> <%=www%></a></font><br><br>
                    <font size=2><b><%=overskrift%></b></font><br><br>
                    <%=besked%><br>
              <hr noshade size="1" color="000000">
                                <%
    rs.MoveNext
    if RS.EOF then exit for
  next
  RS.Close

conn.Close
Set conn = nothing
Set SQLstmt = nothing
    %>
    </td>
    <%
Set rs = Server.CreateObject("ADODB.RecordSet")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("guestbook.mdb")
rs.Open "SELECT ID FROM guestbook ORDER BY Dato desc;", strDSN, 1, 3
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 5
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Response.Write "<p><b>Side " & intPage & " af " & intPageCount & "</b></p>"
    Do While Not rs.EOF And intRecCount > 0
Response.Write rs("ID") & "<br>"
                     
    intRecCount = intRecCount - 1
    rs.MoveNext
    Loop
End If
rs.Close
Set rs = Nothing

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

Response.Write "<p>"
If Clng(intPage) > 1 Then
    Response.Write "<a href=guestbook2.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=guestbook2.asp?page=" & intPage + 1 & ">&gt;&gt;</a> "
Else
    Response.Write "&gt;&gt;"
End If
%>
              </tr>
              <tr>
                <td valign="top" bgcolor="#000000" height="1"></td>
              </tr>
              <tr>
                <td valign="top" bgcolor="999988"><div align="right"><a href="form.asp">Please write in the guestbook</a>&nbsp;&nbsp;</div></td>
              </tr>
              <tr>
                <td valign="top" bgcolor="#000000" height="1"></td>
              </tr>
            </table>
            <p>&nbsp;</p>
            </td>
        </tr>
      </table>
      <table width="660" border="0" cellspacing="0">
        <tr>
          <td>&nbsp;</td>
        </tr>
      </table>
    </td>
  </tr>
</table>
</body>
</html>
Avatar billede dtc Nybegynder
27. februar 2002 - 12:59 #4
Det virker ikke - prøv at klikke ind på http://www.denhearts.dk/guestbook2.asp
Avatar billede coltau Juniormester
27. februar 2002 - 19:24 #5
Det var også kun et bud på en løsning. Jeg plejer ikke at teste det (for 15 point:-) - MEN det har jeg nu.

1. Oprettet en tabel i access med samme tabelnavn og indhold.
2. Kopieret den kode jeg har ændret fra denne side.
3. Rette en fejl og så virker det.

Denne linie skal rettes:
rs.Open "SELECT * FROM guestbook ORDER BY Dato desc;", strDSN, 1, 3
til:
rs.Open "SELECT * FROM guestbook ORDER BY Dato desc;", conn, 1, 3

Hvis det var min kode ville jeg sætte lidt struktur på det og ikke mindst nøjes med et udtræk fra databasen. Med struktur mener jeg bl.a. at det første gennemløb i ASP-koden vises sidst på siden. ?
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