Avatar billede ejay Novice
12. juni 2002 - 17:58 Der er 22 kommentarer og
3 løsninger

Count !

Hej

jeg har et lille problem!

jeg vil gerne have at når man ser en brugers profil på min HP at den så tæller antal gange profilen er vist.

jeg har lavet et felt i databasen som hedder counter, og jeg har forsøgt at sætte dette stykke kode ind.
rsprofile.Update
    rsprofile("counter") = rsprofile("counter") + 1
    rsprofile.Update

meeeen den tæller kun hvis det er min egen profil jeg går ind på?
nogen der ved hvordan man gør?
Avatar billede musicchart.dk Nybegynder
12. juni 2002 - 18:02 #1
strSQL = "update rsprofile set counter = counter+1"
Avatar billede musicchart.dk Nybegynder
12. juni 2002 - 18:02 #2
...er det det du mener?
Avatar billede medions Nybegynder
12. juni 2002 - 18:03 #3
Sæt dette ind:

Conn.Execute("UPDATE profiler SET counter = counter +1 WHERE profilID =" & Request.QueryString("ProfilID"))

der hvor du vil ha' den til at tælle!
//>Rune
Avatar billede eagleeye Praktikant
12. juni 2002 - 18:04 #4
Husk WHERE ellers opdater du alle record men 1 !!!

strSQL = "update rsprofile set counter = counter+1 WHERE brugerID =" & brugerIDManKiggerPå
Avatar billede musicchart.dk Nybegynder
12. juni 2002 - 18:06 #5
hov, glemte WHERE:
strSQL = "update rsprofile set counter = counter+1 WHERE brugersid=" & brugersprofil
Avatar billede ejay Novice
12. juni 2002 - 18:26 #6
oki det var hurtigt svar :-)

nu har jeg dette i scriptet

strSQL = "update users set counter = counter+1 WHERE username =" & profile

men den counter ikke???
Avatar billede medions Nybegynder
12. juni 2002 - 18:29 #7
strSQL = "update users set counter = counter+1 WHERE username =" & profile
Conn.Execute(strSQL)

//>Rune
Avatar billede ejay Novice
12. juni 2002 - 18:35 #8
oki nu fatter jeg intet*GG* (er heller ikke så go til asp)

nu får jeg fejl i conn.execute(strsql)

der står dette i scriptet nu

<%
sql = "SELECT * FROM users WHERE username Like '" & startletter & "%' ORDER BY username"
Set rsProfile = Server.CreateObject("ADODB.Recordset")
rsProfile.Open sql, conn, 3, 3

strSQL = "update users set counter = counter+1 WHERE username =" & id

Conn.Execute(strSQL)

%>
Avatar billede medions Nybegynder
12. juni 2002 - 18:36 #9
fx.

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

strSQL = "update users set counter = counter+1 WHERE username =" & profile
Conn.Execute(strSQL)

så skulle det gerne virke.. hvis ikke, hvilken fejl får du så?
-husk lige at rette scriptet til så det passer til din database-sti!
//>Rune
Avatar billede ejay Novice
12. juni 2002 - 18:40 #10
jeg får denne fejl

Microsoft JET Database Engine error '80040e14'

Syntax error in UPDATE statement.

/show_profil.asp, line 233
Avatar billede ejay Novice
12. juni 2002 - 18:41 #11
og sådan her ser det ud.

<%
Dim sql,counter,vagt, hojde, hafarve, ojfarve, ryger, landsdel, sexorient, ptype, udsende, rsProfile, username, sex, lookfor, startletter, user, profil ,id


startletter = Request.QueryString("user")

username = Request.Cookies("username")
if username = "" then
  Response.Redirect("nologin.asp?page=show_profil.asp")
end if
%>

</font>

                                <p align="center" style="line-height: 100%; word-spacing: 0; margin-top: 0; margin-bottom: 0"><font color="#000000" face="Garamond" size="2">  <!--#include file="conn.asp"-->
<%
sql = "SELECT * FROM users WHERE username Like '" & startletter & "%' ORDER BY username"
Set rsProfile = Server.CreateObject("ADODB.Recordset")
rsProfile.Open sql, conn, 3, 3

strSQL = "update users set counter = counter+1 WHERE username =" & profile
Conn.Execute(strSQL)


%>
conn.asp er den der åbner databasen.
Avatar billede medions Nybegynder
12. juni 2002 - 18:47 #12
<%
Dim sql,counter,vagt, hojde, hafarve, ojfarve, ryger, landsdel, sexorient, ptype, udsende, rsProfile, username, sex, lookfor, startletter, user, profil ,id


startletter = Request.QueryString("user")

username = Request.Cookies("username")
if username = "" then
  Response.Redirect("nologin.asp?page=show_profil.asp")
end if
%>

</font>

                                <p align="center" style="line-height: 100%; word-spacing: 0; margin-top: 0; margin-bottom: 0"><font color="#000000" face="Garamond" size="2">  <!--#include file="conn.asp"-->
<%
sql = "SELECT * FROM users WHERE username Like '" & startletter & "%' ORDER BY username"
Set rsProfile = Server.CreateObject("ADODB.Recordset")
rsProfile.Open sql, conn, 3, 3

strSQL = "update users set counter = counter+1 WHERE username ='" & profile & "'"
Conn.Execute(strSQL)
%>

Prøv lige med dette!
//>Rune
Avatar billede ejay Novice
12. juni 2002 - 18:48 #13
Stadig fejl  /medions
Avatar billede eagleeye Praktikant
12. juni 2002 - 18:49 #14
Den hvor du vælder har du:  username Like '" &startletter & "%'
Det betyder jo at man bare behøver skrive begyndelsen af username så du må bruge den user man finder ved søgeningen:

rsProfile.Open sql, conn, 3, 3

if NOT rsProfile.EOF then
  strSQL = "update users set counter = counter+1 WHERE username ='" & rsProfile("username") & "'"
  Conn.Execute(strSQL)
end if
Avatar billede ejay Novice
12. juni 2002 - 18:52 #15
eagleeye/

der får jeg også fejl !
Avatar billede eagleeye Praktikant
12. juni 2002 - 18:53 #16
hvilken ?
Avatar billede ejay Novice
12. juni 2002 - 18:55 #17
i den linje hvor Conn.Execute(strSQL) står
Avatar billede ejay Novice
12. juni 2002 - 18:55 #18
Microsoft JET Database Engine error '80040e14'

Syntax error in UPDATE statement.

/show_profil.asp, line 233
Avatar billede eagleeye Praktikant
12. juni 2002 - 18:58 #19
arh counter er reserveret ord i Access, prøv at sætte [] omrkring [counter]:

strSQL = "update users set [counter] = [counter]+1 WHERE username ='" & rsProfile("username") & "'"
Avatar billede ejay Novice
12. juni 2002 - 19:01 #20
den opdater stadig kun counteren på ham der er logget ind `s profil!!!
Avatar billede ejay Novice
12. juni 2002 - 19:02 #21
men der er ikke fejl på siden?
Avatar billede eagleeye Praktikant
12. juni 2002 - 19:04 #22
så prøv at udskrive denne strSQL inde Conn.execute:

strSQL = "update users set [counter] = [counter]+1 WHERE username ='" & rsProfile("username") & "'"
Response.write strSQL
Conn.Execute(strSQL)


og tjek om den i WHERE username = 'RIGTIG NAVN HER' skriver det rigtige navn.
Avatar billede ejay Novice
12. juni 2002 - 19:15 #23
det funker nu tak  alle

håber det er ok jeg deler point`s`ne mellem jer
Avatar billede medions Nybegynder
12. juni 2002 - 21:32 #24
Anytime
Thx 4 Poinz

//>Rune
Avatar billede zob Nybegynder
14. juni 2002 - 12:09 #25
Søgte underr Counter-Strike og fik denne frem?
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