Avatar billede Slettet bruger
22. december 2003 - 18:40 Der er 5 kommentarer og
1 løsning

artiklen er læst X gange

Hvordan laver jeg i mit script det muligt at der i hver artikel bliver vist "artiklen er læst X gange" jeg er godt klar over jeg skal oprette i db et felt der hedder antal vist... men jeg er lidt i tvivl om hvordan jeg får det fra databasen og ud på mit script....
min artikel side ser således ud:
<% Dim Conn, RS, Text, Topic

  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Open UsrConnect()

  Session.LCID = 2057
 
  Set RS = Server.CreateObject("ADODB.RecordSet")
  RS.Open "SELECT * FROM News WHERE TID = "& Request("TID"), Conn, 1, 3
  If not RS.EOF Then
  Text = Replace(RS("Text"), VbCrLf, "<br>")
  Topic = RS("Topic")
%>
<html>
<head>
<title><%= Page_Title %></title>
<link rel="stylesheet" type="text/css" href="includes/styles.asp">
</head>

<body>
<div align="center">
  <center>
  <table border="0" cellpadding="0" width="<%= Table_Width %>" cellspacing="0">
    <tr>
      <td colspan="2"><b><%= Topic %></b></td>
    </tr>
    <tr>
<% If Not RS("Email") = "" Then %>
            <td valign="top"><font size="1"><i>af <a href="mailto:<%= RS("Email") %>?subject=<%= Mail_Subject &" "& Topic %>"><%= RS("Name") %></a></i></font></td>
<% Else %>
            <td valign="top"><font size="1"><i>af <%= RS("Name") %></i></font></td>
<% End If %>           
           
    </center>
    <td valign="top">
      <p align="right"><font size="1">Oprettet d. <%= Timestamp(RS("Date")) %><br>&nbsp;</font></td>
  </tr>
  <tr>
    <td colspan="2"><%= Text %></td>
  </tr>
  </table>
</div>
<hr width="<%= Line_Width %>" noshade color="#<%= Line_Color %>">
<%
  End If
  RS.Close
  RS.Open "SELECT * FROM Comments WHERE TID = "& Request("TID") &" ORDER BY Date ASC, CID ASC", Conn, 1, 3
  While Not RS.EOF
  Text = Replace(RS("Text"), VbCrLf, "<br>")
%>
<div align="center">
  <center>
  <table border="0" cellpadding="0" cellspacing="0" width="<%= Table_Width %>">
    <tr>
      <td colspan="2"><%= Text %></td>
    </tr>
    <tr>
<% If Not RS("Email") = "" Then %>
            <td><font size="1"><br><i>af <a href="mailto:<%= RS("Email") %>?subject=<%= Mail_Note &" "& Topic %>"><%= RS("Name") %></a></i></font></td>
<% Else %>
            <td><font size="1"><br><i>af <%= RS("Name") %></i></font></td>
<% End If %>
      <td><p align="right"><font size="1">Oprettet d. <%= Timestamp(RS("Date")) %></font></td>
    </tr>
  </table>
  </center>
</div>
<hr width="<%= Line_Width %>" noshade color="#<%= Line_Color %>">
<%
  RS.MoveNext
  Wend
  RS.Close
  Set RS = Nothing
  Conn.Close
  Set Conn = Nothing
%> 
<p align="center"><font face="Verdana" size="1"><a href="new_comment.asp?TID=<%= Request("TID") %>">Opret kommentar</a></font></p>
<p align="center"><font face="Verdana" size="1"><a href="default.asp">Tilbage til oversigten</a></font></p>
</body>
</html>
Avatar billede eagleeye Praktikant
22. december 2003 - 18:45 #1
Lige efter du har åbnet din connection kan du lave en SQL sætning som opdater antal_vist kolonnen sådan her:

Conn.Open UsrConnect()

SQL = "UPDATE news SET antal_vist=antal_vist+1 WHERE TID = "& Request("TID")
Conn.Execute(SQL)


Så kan du udskrive antal_vist fra RS hvor du har lyst.:

Response.Write "Artiklen er læst " & rs("antal_vist") & " gange"


Husk kolonnen antal_vist skal default sættes til eksempelvis 0
Avatar billede nmh Nybegynder
22. december 2003 - 18:48 #2
Hvi du har et felt i din database, der hedder antal kunne du gøre således:
Linierne
If not RS.EOF Then
  Text = Replace(RS("Text"), VbCrLf, "<br>")
  Topic = RS("Topic")
erstattes med
If not RS.EOF Then
  antal=rs("antal")
  Text = Replace(RS("Text"), VbCrLf, "<br>")
  Text="Artiklen er læst " & antal & " gange. <br>" & Text
  antal=rs("antal")
  Topic = RS("Topic")
....
Du skal så yderliger opdatere din database.
Feltet antal skal for den pågældende artikel øges med 1.
Avatar billede Slettet bruger
22. december 2003 - 18:54 #3
Det vil sige jeg kan gøre det på denne måde:

<% Dim Conn, RS, Text, Topic

  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Open UsrConnect()

  Session.LCID = 2057
 
  Set RS = Server.CreateObject("ADODB.RecordSet")
  RS.Open "SELECT * FROM News WHERE TID = "& Request("TID"), Conn, 1, 3
  If not RS.EOF Then
  Text = Replace(RS("Text"), VbCrLf, "<br>")
  Topic = RS("Topic")

  Conn.Open UsrConnect()
  SQL = "UPDATE news SET antal_vist=antal_vist+1 WHERE TID = "& Request("TID")
  Conn.Execute(SQL)

%>
<html>
<head>
<title><%= Page_Title %></title>
<link rel="stylesheet" type="text/css" href="includes/styles.asp">
</head>

<body>
<div align="center">
  <center>
  <table border="0" cellpadding="0" width="<%= Table_Width %>" cellspacing="0">
    <tr>
      <td colspan="2"><b><%= Topic %></b></td>
    </tr>
    <tr>
<% If Not RS("Email") = "" Then %>
            <td valign="top"><font size="1"><i>af <a href="mailto:<%= RS("Email") %>?subject=<%= Mail_Subject &" "& Topic %>"><%= RS("Name") %></a></i></font></td>
<% Else %>
            <td valign="top"><font size="1"><i>af <%= RS("Name") %></i></font></td>
<% End If %>           
           
    </center>
    <td valign="top">
      <p align="right"><font size="1">Oprettet d. <%= Timestamp(RS("Date")) %><br>&nbsp;</font></td>
  </tr>
  <tr>
    <td colspan="2"><%= Text %><br>vist <%= RS("antal_vist")%> gange
</td>
  </tr>
  </table>
</div>
<hr width="<%= Line_Width %>" noshade color="#<%= Line_Color %>">
<%
  End If
  RS.Close
  RS.Open "SELECT * FROM Comments WHERE TID = "& Request("TID") &" ORDER BY Date ASC, CID ASC", Conn, 1, 3
  While Not RS.EOF
  Text = Replace(RS("Text"), VbCrLf, "<br>")
%>
<div align="center">
  <center>
  <table border="0" cellpadding="0" cellspacing="0" width="<%= Table_Width %>">
    <tr>
      <td colspan="2"><%= Text %></td>
    </tr>
    <tr>
<% If Not RS("Email") = "" Then %>
            <td><font size="1"><br><i>af <a href="mailto:<%= RS("Email") %>?subject=<%= Mail_Note &" "& Topic %>"><%= RS("Name") %></a></i></font></td>
<% Else %>
            <td><font size="1"><br><i>af <%= RS("Name") %></i></font></td>
<% End If %>
      <td><p align="right"><font size="1">Oprettet d. <%= Timestamp(RS("Date")) %></font></td>
    </tr>
  </table>
  </center>
</div>
<hr width="<%= Line_Width %>" noshade color="#<%= Line_Color %>">
<%
  RS.MoveNext
  Wend
  RS.Close
  Set RS = Nothing
  Conn.Close
  Set Conn = Nothing
%> 
<p align="center"><font face="Verdana" size="1"><a href="new_comment.asp?TID=<%= Request("TID") %>">Opret kommentar</a></font></p>
<p align="center"><font face="Verdana" size="1"><a href="default.asp">Tilbage til oversigten</a></font></p>
</body>
</html>
Avatar billede eagleeye Praktikant
22. december 2003 - 19:02 #4
Ja det skulle være før det med RS.Open og kun en gang Conn.Open, så prøv at lave disse linjer:

<% Dim Conn, RS, Text, Topic

  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Open UsrConnect()

  Session.LCID = 2057
 
  Set RS = Server.CreateObject("ADODB.RecordSet")
  RS.Open "SELECT * FROM News WHERE TID = "& Request("TID"), Conn, 1, 3
  If not RS.EOF Then
  Text = Replace(RS("Text"), VbCrLf, "<br>")
  Topic = RS("Topic")

  Conn.Open UsrConnect()
  SQL = "UPDATE news SET antal_vist=antal_vist+1 WHERE TID = "& Request("TID")
  Conn.Execute(SQL)

%>


Om til dette:

<% Dim Conn, RS, Text, Topic

  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Open UsrConnect()

  Session.LCID = 2057

  SQL = "UPDATE news SET antal_vist=antal_vist+1 WHERE TID = "& Request("TID")
  Conn.Execute(SQL)
 
  Set RS = Server.CreateObject("ADODB.RecordSet")
  RS.Open "SELECT * FROM News WHERE TID = "& Request("TID"), Conn, 1, 3
  If not RS.EOF Then
  Text = Replace(RS("Text"), VbCrLf, "<br>")
  Topic = RS("Topic")

%>
Avatar billede Slettet bruger
22. december 2003 - 19:07 #5
eagleeye det virker nu mange tak for hjælpen :o)
Avatar billede eagleeye Praktikant
22. december 2003 - 19:10 #6
Ok ;)
Det lyder godt.
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