Mathe für Fortgeschrittene
#5
Jo dürfte gut passen. Ich würd zwar speichern, wann er das nächste mal Punkte bekommt. Dadurch erspar ich mir bei jedem aufruf, dass er +3600 rechnen muss und hab des nur einmal. Aber das ist wohl außer bei Hochperformanceanwendungen außer Acht zu lassen Wink

$sub könntest aber auch noch schöner Berechnen. Musst net wieder 3600*z rechnen und des dann abziehn, sondern einfach [code=php]$sub=$a%3600;[/code].
Nennt sich Modulo und liefert den Rest zurück.

Schön würd des dann so aussehn:

[code=php]
if(Time()>$getpoints){
$a=Time()-$getpoints;
$z=ceil($a/3600);
$sub=$a%3600;
$NeuerPunktestand=($z*$PunkteproStunde)+$alterpunktestand;
$getpoints=Time()-$sub+3600 ;
}
[/code]
So hoffentlich jetzt net vertan Wink

edit:
bzw ganz kurz halt Wink

[code=php]
$time=Time();
if($time>$time_get_next_points){
$difference=$time-$time_get_next_points;
$new_points=(ceil($difference/3600)*$points_per_hour)+$old_points;
$getpoints=$time-($difference%3600)+3600 ;
}
[/code]
Richtig schön wär jetzt noch die 3600 durch ne konstante zu ersetzen Wink

Problem seh ich nur wenn derjenige länger net online is bleiben seine Punkte hängen, sprich in ner Übersicht würden imma nur die Punkte vom letzten Login angezeigt werden. Würd eher ein Script per CronJob (oder notfalls au im Skript abfragen- musst dann aba wieder aufpassen das net mehrere stunden keiner oben war) laufen lassen, dass bei jedem User stündlich die Punkte erhöht.

Würd dann halt mit MySQL sehr schön gehn mit einem einzigen Befehl der alle User aktualisiert.

[code=php]UPDATE users SET points = points + 1000[/code]
Write this on my gravestone, write this right on my grave, "To whisky and women, here lies a poor slave".

[Bild: 10_en_btn.gif]

Computer- und Mediensicherheit - FH Hagenberg
Hagenberger Kreis zur Förderung der digitalen Sicherheit
Security Forum
  Zitieren


Nachrichten in diesem Thema
Mathe für Fortgeschrittene - von Futjikato - 22.06.2008, 16:17
[Kein Betreff] - von kickedINtheHEAD - 22.06.2008, 19:46
[Kein Betreff] - von KingGO - 23.06.2008, 07:05
[Kein Betreff] - von Futjikato - 23.06.2008, 13:15
[Kein Betreff] - von kickedINtheHEAD - 24.06.2008, 08:01
[Kein Betreff] - von Futjikato - 25.06.2008, 13:55
[Kein Betreff] - von KingGO - 27.06.2008, 07:45
[Kein Betreff] - von Futjikato - 27.06.2008, 13:57
[Kein Betreff] - von kickedINtheHEAD - 28.06.2008, 18:41
[Kein Betreff] - von Futjikato - 19.07.2008, 15:00

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 13 Gast/Gäste