Countdown mit Datenbank Zugriff

01/17/2017 14:46 Royal*#1
Guten Mittag liebe EPvP Community,

derzeitig arbeite ich an einem kleinen Projekt, aber da ich gerade an ein kleines Problem gestoßen bin, an welchem ich einfach nicht weiter komme, frage ich mal hier. Vorerst, ich bin für jede Antwort dankbar, sofern sie hilfreich ist. :-)

So, zu meinem Problem. In meinem kleinen Projekt hat der User die Möglichkeit eine Aktion für 10 Minuten auszuführen, aber da dies nicht nur Clientside sein sollte, möchte ich das ganze anhand einer MySQL Datenbank realisieren, d.h. das die Startzeit dort gespeichert wird, die Endzeit dann berechnet wird und ebenfalls in der Datenbank hinterlegt wird und die Differenz zwischen den beiden Zeiten (zunächst ist sie auf 10 Minuten), sobald dann die Differenz Zeit auf 0 ist, soll der User die "Belohnung" erhalten.

Vom Konzept her eigentlich relativ einfach, nur muss ich gestehen das ich das mit der Differenz Zeit einfach nicht hin bekomme, daher wäre ich sehr dankbar für einen kleinen Denkanstoß!

Ein großes Dankeschön im voraus.


Liebe Grüße,

Royal* :)
01/17/2017 17:31 xEr0r#2
Den Timestamp würde ich Serverseitig generieren, da es sonst eventuell zu lokalen Zeitmanipulationen kommen kann. Ein Paket an den Server schicken, der dieses Event auslöst. In Oracle-SQL (wahrscheinlich ebenfalls in MySQL) kannst du Funktionen schreiben die etwas machen. In deinem Fall müssten zu dem Timestamp 10 Minuten dazu gezählt werden. Ist diese Berechnung abgeschlossen, muss du checken, ob der berechnete Timestamp >= deiner Serverzeit ist. Ist dies der Fall, so erhält der User eine Belohnung. Ist dies nicht der Fall, muss er noch warten.
01/17/2017 18:39 Royal*#3
Quote:
Originally Posted by xEr0r View Post
Den Timestamp würde ich Serverseitig generieren, da es sonst eventuell zu lokalen Zeitmanipulationen kommen kann. Ein Paket an den Server schicken, der dieses Event auslöst. In Oracle-SQL (wahrscheinlich ebenfalls in MySQL) kannst du Funktionen schreiben die etwas machen. In deinem Fall müssten zu dem Timestamp 10 Minuten dazu gezählt werden. Ist diese Berechnung abgeschlossen, muss du checken, ob der berechnete Timestamp >= deiner Serverzeit ist. Ist dies der Fall, so erhält der User eine Belohnung. Ist dies nicht der Fall, muss er noch warten.
Vielen Dank für die Anregung, werde es mal so umsetzen. :)

Liebe Grüße
01/17/2017 20:39 Devsome#4
#moved