DISTINCTROW?
Känner bara till det, men vet inte om det fungerar, gör något liknande som DISTINCT. Pröva! Alltid värt ett försök. Annars får du väl - som alla andra - vänta på LarsG. :e
8 svar · 295 visningar · startad av WebbisNet
Den här funktionen för att visa vem som har besökt ens sida på communityt funkar jättebra, men det jag vill nu är att om amn besöker en sida mer än en gång så vill jag bara att senaste besöket visas....ett namn ska alltså inte visas upprepade gånger.....distinct verkar inte hjälpa
lVisitorId = CLng(session("UserId")) '# besökarens id
lUserId = CLng(request("UserId")) '# krypinets ägares id
if lUserId <> lVisitorId then
objConn.execute "INSERT INTO tblUsers_visitors (HomeUserId, HomeVisitorId, HomeDateVisited,HomeTimeVisited) VALUES(" & lUserId & "," & lVisitorId & ",#" & date & "#,#" & time & "#)"
'response.redirect "view.asp"
end if
Set visitor=objConn.Execute("SELECT DISTINCT TOP 5 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="&request("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")
DISTINCTROW?
Känner bara till det, men vet inte om det fungerar, gör något liknande som DISTINCT. Pröva! Alltid värt ett försök. Annars får du väl - som alla andra - vänta på LarsG. :e
magnusfernstrom skrev:
DISTINCTROW?
Känner bara till det, men vet inte om det fungerar, gör något liknande som DISTINCT. Pröva! Alltid värt ett försök. Annars får du väl - som alla andra - vänta på LarsG. :e
Hjälpte tyvärr inte :-)
så det blir till att vänta :-)
Äh, jag chansade bara! Jag visste att det fanns också, men inte vad det är för skillnad från DISTINCT. LarsG verkar kunna ALLT inom SQL, typ. Detta är en piece of cake för honom, och många andra på wF! :)
Nåväl. Vänta bara :D
Re: Visa beökare, men bara senaste
WebbisNet skrev:
Den här funktionen för att visa vem som har besökt ens sida på communityt funkar jättebra, men det jag vill nu är att om amn besöker en sida mer än en gång så vill jag bara att senaste besöket visas....ett namn ska alltså inte visas upprepade gånger.....distinct verkar inte hjälpa
lVisitorId = CLng(session("UserId")) '# besökarens id lUserId = CLng(request("UserId")) '# krypinets ägares id if lUserId <> lVisitorId then objConn.execute "INSERT INTO tblUsers_visitors (HomeUserId, HomeVisitorId, HomeDateVisited,HomeTimeVisited) VALUES(" & lUserId & "," & lVisitorId & ",#" & date & "#,#" & time & "#)" 'response.redirect "view.asp" end if Set visitor=objConn.Execute("SELECT DISTINCT TOP 5 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="&request("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")
Inte så snyggt att ha det så här som bilden visar :(
Ingen som vet?
Distinct returnerar bara de poster en gång där värdena är lika i alla angivna kolumner.
Varför har du delat upp besökstiden i en date och en time? Det blir bara besvärligare att hantera.
Jag förmodar att det är Access.
SELECT TOP 5 tblUsers.userID,
tblUsers.username,
tblUsers.screenname,
tblUsers_visitors.ID,
tblUsers_visitors.HomeVisitorId,
tblUsers_visitors.HomeUserId,
tblUsers_visitors.HomeDateVisited,
tblUsers_visitors.HomeTimeVisited
FROM tblUsers
inner JOIN tblUsers_visitors tv1 ON tblUsers.userID = tblUsers_visitors.HomeVisitorId
where HomeUserId= " & request("userID") & "
and cdate(cstr(tblUsers_visitors.HomeDateVisited) & ' ' & cstr(tblUsers_visitors.HomeTimeVisited))
= (select max(cdate(cstr(tblUsers_visitors.HomeDateVisited) & ' ' & cstr(tblUsers_visitors.HomeTimeVisited)))
from tblUsers_visitors
where tblUsers_visitors.HomeVisitorId = tv1.HomeVisitorId)
order by tblUsers_visitors.HomeDateVisited desc,
tblUsers_visitors.HomeTimeVisited desc
LarsG skrev:
Varför har du delat upp besökstiden i en date och en time? Det blir bara besvärligare att hantera.
Jag förmodar att det är Access.
SELECT TOP 5 tblUsers.userID, tblUsers.username, tblUsers.screenname, tblUsers_visitors.ID, tblUsers_visitors.HomeVisitorId, tblUsers_visitors.HomeUserId, tblUsers_visitors.HomeDateVisited, tblUsers_visitors.HomeTimeVisited FROM tblUsers inner JOIN tblUsers_visitors tv1 ON tblUsers.userID = tblUsers_visitors.HomeVisitorId where HomeUserId= " & request("userID") & " and cdate(cstr(tblUsers_visitors.HomeDateVisited) & ' ' & cstr(tblUsers_visitors.HomeTimeVisited)) = (select max(cdate(cstr(tblUsers_visitors.HomeDateVisited) & ' ' & cstr(tblUsers_visitors.HomeTimeVisited))) from tblUsers_visitors where tblUsers_visitors.HomeVisitorId = tv1.HomeVisitorId) order by tblUsers_visitors.HomeDateVisited desc, tblUsers_visitors.HomeTimeVisited desc
Jag får:
Microsoft JET Database Engine error '80040e14'
Syntax error in JOIN operation.
/view_include.asp, line 39
med
Set visitor=objConn.Execute("SELECT TOP 5 tblUsers.userID,tblUsers.username,tblUsers.screenname,tblUsers_visitors.ID,tblUsers_visitors.HomeVisitorId,tblUsers_visitors.HomeUserId,tblUsers_visitors.HomeDateVisited,tblUsers_visitors.HomeTimeVisited FROM tblUsers "&_
"inner JOIN tblUsers_visitors tv1 ON tblUsers.userID = tblUsers_visitors.HomeVisitorId "&_
"where HomeUserId= " & request("userID") & " and cdate(cstr(tblUsers_visitors.HomeDateVisited) & ' ' & cstr(tblUsers_visitors.HomeTimeVisited))= (select max(cdate(cstr(tblUsers_visitors.HomeDateVisited) & ' ' & cstr(tblUsers_visitors.HomeTimeVisited))) "&_
"from tblUsers_visitors where tblUsers_visitors.HomeVisitorId = tv1.HomeVisitorId order by tblUsers_visitors.HomeDateVisited desc, "&_
"tblUsers_visitors.HomeTimeVisited desc")
Rad 39 är första raden...set visitor ......