>> Jo, hvis man gør dette, er det nemt nok at sørge for at opdateringen
>> sker med minimun den fastsatte grænse. Hvis man altså sætter
>> $last_reset til den aktuelle tid, når man opdager grænsen er
>> overskredet. Men hvis den første bruger kommer ind kl. 00:10 vil den
>> næste reset ugen efter, først kunne ske ved dette klokkeslet og ikke
>> kl. 00:00 som det var tænkt.
>>
>> Dette kan så løses ved at sætte $last_reset til værdien fra natten
>> til mandag kl. 00:00, men hvordan sætter jeg variablen til altid at
>> være det timestamp fra kl 00:00 natten til mandag også selvom det
>> første besøg kommer f.eks. onsdag kl. 14:00. Dette må man vel kunne
>> gøre hvis man kender det aktuelle tidspunkt, men jeg kan ikke lige
>> se hvordan.
>>
>> Man kunne vel kode det med en funktion, der trækker alle sekunder
>> fra denne uge fra et det aktuelle tidspunkt baseret på ugedagen og
>> tidspunktet, men er der ikke en mere universal måde, som virker
>> selvom administratoren af toplisten sætter sin reset-time til f.eks.
>> 2 uger eller måske en hel måned?
>
> if($now > $next_reset) {
> reset_database();
> $next_reset = $next_reset + $interval;
> }
>
> Sådan?
Nej desværre. Her vil næste reset først ske kl 00:10 næste uge hvis den
første bruger denne uge kommer ind netop kl 00:10 (altså hvis $interval er
en uge). Det interval jeg skal lægge til det nuværende skal således afpasses
til at igen pege på kl 00:00 (altså i dette tilfælde være 10 min mindre end
hvis den første bruger var kommer ind kl. 00:00 præcis)
> Kig evt. lidt på date() og strtotime().
Havde ikke lige tænkt på at date() kunne bruges, da jeg kun havde fokuseret
på mktime og lign. Jeg har derfor kigget lidt nærmere på den besværlige
udgave (uvist om den nemme udgave findes
. Det kan laves gennem numerisk
repræsentation af ugedage, som med lidt besvær kan bestemme hvor lang tid
der er gået i denne uge. Denne tid kan trækkes fra aktuelt timestamp og man
har et timestamp man kan teste mod til næste gang. Denne udgave skulle ikke
forskubbe noget.
Ved ikke om nogen gad høre det, men nu er det skrevet
Det hele er lidt nemmere med internt (sikkert) cron. Der er bare ikke mange
danske udbydere, der har denne mulighed
Tak for inputtet.
--
mvh. Jacob Larsen