Hur gör jag så att det inte plussas på 1 poäng om medlemen har redan loggat in?? Men han kan få +1 nästa dag.
strSQL="UPDATE members SET poang = poang + 1 WHERE ID = " & RecSet("id")
35 svar · 267 visningar · startad av hacktheplanet
Hur gör jag så att det inte plussas på 1 poäng om medlemen har redan loggat in?? Men han kan få +1 nästa dag.
strSQL="UPDATE members SET poang = poang + 1 WHERE ID = " & RecSet("id")
Kan du inte ha en kolumn där du lägger datumet då han senast fick en poäng. Om det datumet stämmer med den aktuella dagen får han ingen poäng. Bara en tanke, det finns säkert en smidigare metod.
------------------
// Skarre
Välkommen till WF
Du behöver en datumkolumn i tabellen som visar när senaste uppdateringen gjordes.
Datum hanteras ju lite olika i olika databaser, så här kan du göra i Access till exempel.
strsql = "update members set poang = poang + 1, uDatum = now() " & _
" where datediff('d',uDatum,now()) <> 0 and id = " recset("ID")
connect.execute strsql,,128
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 20 nov 2001]
tackar :-)
kan man inte använda senaste inloggad istället ????
Vad menar du med senastinloggad?
Är det något som du sparar i en cookie?
I så fall går det ju bra att använda datediff för att se om användaren har varit där samma dag.
if datediff("d",request.Cookies("senastinloggad",date) <> 0 then
'utför update
'tilldela cookie nytt värde
------------------
essentitia preter non sans multiplicandum
funkar ej
" where datediff('d',Datum,now()) <> 0 and id = " RecSet("id")
-------------------------------------------------^
nope går bra med datum
satte in & men +1 endå
Nu förstår jag inte vad du menar. Får du något felmeddelande?
------------------
essentitia preter non sans multiplicandum
nope men det plussas forfarande om man loggat in engång
får inget felmeddelande ingenting händer
datum fältet i databasen ändras när man loggar in är det den man ska koppla till????
strsql = "update members set poang = poang + 1, Datum = now() " & _
" where datediff('d',Datum,now()) <> 0 and id = " & RecSet("id")
connect.execute strsql,,128
Då jag inte vet hur dina tabeller ser ut och vad du gör annars på sidan så begriper jag inte vad du menar när du säger senastinloggad. Du får förklara lite mer ingående och inte vara så kortfattad.
Hur använder du kolumnen datum annars?
------------------
essentitia preter non sans multiplicandum
jag har en tabell där den uppdateras som senaste inloggad asså användaren
så här ser login_check.asp
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
Do Until RecSet.EOF
if lcase(recset("username")) = lcase(request.form("username")) and lcase(recset("losen")) = lcase(request.form("losen")) then
RecSet("datum") = Now
RecSet("status") = "online"
RecSet.Update
Session("namn") = RecSet("fnamn") & " " & RecSet("enamn")
Session("fnamn") = RecSet("fnamn")
Session("enamn") = RecSet("enamn")
Session("Username") = RecSet("Username")
Session("login") = "ok"
Session("id") = RecSet("id")
Session("status") = "online"
Session("epost") = RecSet("epost")
Session.TimeOut = 40
strsql = "update members set poang = poang + 1, Datum = now() " & _
" where datediff('d',Datum,now()) <> 0 and id = " & RecSet("id")
connect.execute strsql,,128
strSQL="UPDATE members SET loggatin = loggatin + 1 WHERE ID = " & RecSet("id")
Connect.execute (strSQL)
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
Response.Redirect "defaultx.asp"
End If
ja kom igen LarsG
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
Do Until RecSet.EOF
if lcase(recset("username")) = lcase(request.form("username")) and lcase(recset("losen")) = lcase(request.form("losen")) then
RecSet("datum") = Now
RecSet("status") = "online"
RecSet.Update
Session("namn") = RecSet("fnamn") & " " & RecSet("enamn")
Session("fnamn") = RecSet("fnamn")
Session("enamn") = RecSet("enamn")
Session("Username") = RecSet("Username")
Session("login") = "ok"
Session("id") = RecSet("id")
Session("status") = "online"
Session("epost") = RecSet("epost")
Session.TimeOut = 40
strsql = "update members set poang = poang + 1, Datum = now() " & _
" where datediff('d',Datum,now()) <> 0 and id = " & [b]Session("id")[/b]
connect.execute strsql,,128
strSQL="UPDATE members SET loggatin = loggatin + 1 WHERE ID = " & [b]Session("id")[/b]
Connect.execute (strSQL)
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
Response.Redirect "defaultx.asp"
End If
tycker detta ser allmänt snurrigt ut men ni kan ju testa så där ;)
------------------
Icaaq, mannen med korven. som hejar på Bajen(!)
nope funkar ej