webForumDet fria alternativet

Räkna besök

ASP

43 svar · 882 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Frågan#1

Jag har i tabellen tblUsers_visitors 2 kolumner som heter HomeUserId som är den inloggade användarens ID och HomeVisitorId som är besökarens ID. Jag vill räkna ihop den inloggade användarens alla besök som den personen har fått och min sql-sats ökar inte värdet när man besöker sidan.

Koden är

Set homeCounter=objConn.Execute("SELECT Count(HomeUserId) AS Antal FROM tblUsers_visitors Where HomeUserId="&Session("userID"))
Medlem sedan juni 2002256 inlägg
#2

Är väl fel på koden som lägger till besökaren i databasen som felar isf.

Medlem sedan feb. 20032 027 inlägg
#3

Det är inte fel på den koden, besöker man en sida så läggs posten till i databasen. När jag listar senaste besökare så funkar det och besöksräknaren använder samma tabell

Medlem sedan juni 200032 967 inlägg
#4

Vad menar du med "min sql-sats ökar inte värdet när man besöker sidan." ?

Vad returnerar SQL-frågan om du kör den direkt mot databasen?

Medlem sedan feb. 20032 027 inlägg
#5

den satsen jag har skrivit står på samma siffra hos den man besöker oavsett hur många gånger man besöker medlemmen, men enligt senaste besökare som använder samma tabell så ser man att besöket har blivit sparat. Så om Senaste Besökare ökar med en post så ska även räknaren öka med 1

Medlem sedan feb. 20032 027 inlägg
#6

@nders skrev:

Vad menar du med "min sql-sats ökar inte värdet när man besöker sidan." ?

Vad returnerar SQL-frågan om du kör den direkt mot databasen?

sql-frågan returnerar samma resultat i databasen som när jag kör den på sidan

Medlem sedan juni 200032 967 inlägg
#7

Ska du verkligen ha session("userid") som villkor då? Då hämtar du ju alltid antalet besök du har fått. Är det det du vill?

Medlem sedan feb. 20032 027 inlägg
#8

@nders skrev:

Ska du verkligen ha session("userid") som villkor då? Då hämtar du ju alltid antalet besök du har fått. Är det det du vill?

eftersom besöksräknaren ligger på den inloggades persentationsida så ska ju alla besök som har gjorts till det id-t visas

Medlem sedan juni 200032 967 inlägg
#9

Under förutsättning att session("userid") innehåller rätt ID, och insert görs på rätt ID i besökstabellen så fungerar SQL-frågan.

Medlem sedan feb. 20032 027 inlägg
#10

det är inget fel på sessions id-t och eftersom senaste besökaren syns som den ska så ska det fungera, men räknaren som räknar antal poster för det aktuella id-t står still

Medlem sedan feb. 20032 027 inlägg
#11

koden som visar senaste besökare är

Set visitor=objConn.Execute("SELECT TOP 10 tblUsers.userID, tblUsers.username, tblUsers.screenname, tblUsers_visitors.ID, tblUsers_visitors.HomeVisitorId, tblUsers_visitors.HomeUserId, tblUsers_visitors.HomeDateVisited, tblUsers_visitors.HomeTimeVisited "&_
"FROM tblUsers RIGHT JOIN tblUsers_visitors ON tblUsers.userID = tblUsers_visitors.HomeVisitorId where HomeUserId="&session("userID") &" GROUP BY tblUsers.userID, tblUsers.username, tblUsers.screenname, tblUsers_visitors.ID, tblUsers_visitors.HomeVisitorId, tblUsers_visitors.HomeUserId, tblUsers_visitors.HomeDateVisited, tblUsers_visitors.HomeTimeVisited "&_
"ORDER BY tblUsers_visitors.ID DESC")

och den som visar räknaren är

Set homeCounter=objConn.Execute("SELECT Count(HomeUserId) AS Antal FROM tblUsers_visitors Where HomeUserId="&Session("userID"))%>
Medlem sedan juni 200032 967 inlägg
#12

Jag förstår inte riktigt hur datat ser ut tror jag. Om du använder access, kan man få kika på databasen?

Hur ser SQL-frågan ut för "senaste besökaren"-antalet, som ju tydligen fungerar?

Medlem sedan feb. 20032 027 inlägg
#13

Frågorna ser du ovan

Medlem sedan juni 200032 967 inlägg
#14

Jag ser det. Vi skrev lite samtidigt.

Jag förstår ändå inte hur datat ser ut. Det är nämligen inget fel på SQL-frågan, under förutsättning att datat ser ut som du förväntar dig, och att id-värdena är korrekta.

Medlem sedan feb. 20032 027 inlägg
#15

@nders skrev:

Jag ser det. Vi skrev lite samtidigt.

Jag förstår ändå inte hur datat ser ut. Det är nämligen inget fel på SQL-frågan, under förutsättning att datat ser ut som du förväntar dig, och att id-värdena är korrekta.

Bifogar bild på tabellen

visitors.jpg
Medlem sedan juni 200032 967 inlägg
#16

Och om du nu ställer frågan i ditt första inlägg;
*) Vad innehåller session("id")?
*) Vilket resultat får du?
*) Vilket resultat borde du få? (Manuell räkning i databasen kanske krävs?)

Medlem sedan feb. 20032 027 inlägg
#17

Du har nog rätt, Senaste besökare har slutat räkna

Vad är det för fel med den här koden nu då

if not lUserId = lVisitorId then
objConn.execute "INSERT INTO tblUsers_visitors (HomeUserId, HomeVisitorId, HomeDateVisited,HomeTimeVisited) VALUES(" & lUserId & "," & lVisitorId & ",#" & date & "#,#" & time & "#)"
end if
Medlem sedan juni 200032 967 inlägg
#18

Skriv ut den färdiga SQL-frågan istället för att exekvera den, så är det lättare att finna fel.

mvh

Medlem sedan feb. 20032 027 inlägg
#19

@nders skrev:

Skriv ut den färdiga SQL-frågan istället för att exekvera den, så är det lättare att finna fel.

mvh

Hade ID-problem, har snart löst det......fick ID 0 i databasen när ex ID 144 hade besökt

Medlem sedan juni 200032 967 inlägg
276 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)