Avatar billede Slettet bruger
22. november 2006 - 02:55 Der er 3 kommentarer og
1 løsning

vist x gange

Jeg sidder med mit script hvor jeg forsøger at få tælleren til at fortælle hvor mange, der har kikket på det enkelte billede i mit galleri, men den viser blot 12 som er det antal billeder jeg har i mit galleri...

i toppen af siden hvor antal vist skal vises har jeg <!-- #include file="recordcounter.asp" -->

i recordcounter.asp står der:
<%

Function NumberOfRecords(DBPathName, TableName)
  Const adOpenDynamic = 2
  Const adLockOptimistic = 3
  Dim strConnect
  Dim objRS
  Dim intTotal

  strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;"
  strConnect = strConnect & "Data Source="
  strConnect = strConnect & Server.MapPath(DBPathName) & ";"
  strConnect = strConnect & "Persist Security Info=False"
  Set objRS = Server.CreateObject("ADODB.Recordset")
  objRS.Open TableName, strConnect, adOpenDynamic, adLockOptimistic
  intTotal = 0
  If (not objRS.BOF) And (not objRS.EOF) Then
    objRS.MoveFirst
    While Not objRS.EOF
      intTotal = intTotal + 1
      objRS.MoveNext
    Wend
  End If
  objRS.Close
  Set objRS = Nothing
  NumberOfRecords = CLng(intTotal)
End Function

%>

på min side hvor jeg vil have tallet vist står der: <%
set conn = server.CreateObject("adodb.connection")
set rs = server.CreateObject("adodb.recordset")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("billeder.mdb")

sql="select * from billeder where id = "& request("id")
set rs = conn.execute(sql)

response.write "<h1>" & rs("name") & "</h1><br>"
response.write "<center><img src='" & rs("path") & "'></center><br/><b>Tilføjet:</b> " & rs("uploaded") & "<br>"
response.write "" & rs("description") & "<br/><br/>"
Conn.Close
Set Conn = Nothing
%>
<%
Response.Write NumberOfRecords("billeder.mdb", "SELECT * FROM billeder")
%>
Hvor er det lige, det går galt henne?
Avatar billede sneakraid Nybegynder
22. november 2006 - 08:11 #1
Koden fejler jo som sådan ikke noget, fordi som du siger, den viser antal billeder i dit galleri og det er også kodens formål så vidt jeg lige kan se. Den tæller antal rækker i din "billeder"-tabel. Et lille tip ang. at tælle rækker kan være at bruge et command objekt og recordcount, det er noget lettere end scriptet ovenfor.

Men for at løse dit problem, skal du have en ny kolonne i din tabel, hvori der står hvor mange som har klikket på hver enkel billede (pr. række i db). Du skal så have et script til at tælle for dig, så snart der bliver klikket på et specifikt billede. Dette kan du opnå ved f.eks. at have et billedkomponent installeret på serveren og så ændre dit <img>-tag til:

<img src='vis_billede.asp?billedeid=<%=request("id")%>'>

Men for lige at kunne hjælpe dig yderligere, ved du så om du har et billedkomponent installeret på serveren? :)
Avatar billede fennec Nybegynder
22. november 2006 - 08:12 #2
Du mangler en eller anden optælling af vistAntalGange:

sql="select * from billeder where id = "& request("id")
set rs = conn.execute(sql)
conn.execute("update billeder set vistAntalGange=vistAntalGange+1 where id="& request("id"))
response.write "<h1>" & rs("name") & "</h1><br>"
response.write "<center><img src='" & rs("path") & "'></center><br/><b>Tilføjet:</b> " & rs("uploaded") & "<br>"
response.write "" & rs("description") & "<br/><br/>"
response.write "vist "& rs("vistAntalGange") &" gange"
Avatar billede Slettet bruger
22. november 2006 - 14:11 #3
fennec dit eks virkede :)
Hvis du lige skriver et svare, så kan jeg lukke :-)
Avatar billede fennec Nybegynder
22. november 2006 - 14:42 #4
.o) <-- One Eyed Jack
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