Stor hjernevrider!

Tags:    php

Hejsa,
jeg sidder med en meget stor hjernevrider.... håber i klogehoveder kan hjælpe mig...

Det drejer sig om et system jeg er igang med, hvor en "bruger" accepterer en opgave i mit system. Hver gang en bruger accepterer en opgave, sætter jeg timestamp i databasen med accepteret-tidspunktet.

Her skaljeg så lave et cronjob, som fortæller, at hvis brugeren IKKE har færdiggjort en opgave indenfor 2 timer, skal den udskrive "Brugeren har ikke lavet opgaven indenfor 2 timer", så kan jeg selv tage den videre der fra.

Jeg mangler en brugbar løsning til dette, da jeg selv har forsøgt, men forgæves.

Min tabel hedder "accepteret", som har disse felter:
id
tester_id
opgave_id
accepteret
accepteret_tidspunkt
done

tester_id er f.eks 12
opgave_id er f.eks 14
accepteret er enten 0 eller 1, 1 = ja og 0 = nej
accepteret_tidspunkt er f.eks 1232394 (time())
done er enten 0 eller 1. 0 = ikke lavet, 1 = lavet.

Hvad kan jeg gøre for den bedste løsning? Tak.




Noget er forkert, fordi min kode jf.( http://pastebin.com/dhRyrCW2 ) udskriver følgende:

Tester: 1 har accepteret opgaven d. 09-11/2010 16:28:42, men har ikke lavet testen indenfor 2 timer (09-11/2010 15:19:37)

Der er ikke 2 timer i mellem. Og hver gang man opdaterer siden, bliver der jo "resettet" de 2 timer, så den vil aldrig nogensinde virke efter min mening.

Nogen gode idéer?


Linjen:

Fold kodeboks ind/udKode 


Skal vel sige "acceptering"tidspunktet - 2 timer?

Men hvordan får jeg sat det i min query, da den jo først laver mysql_fetch_assoc() nedenunder?

$this->twoHours skal vel være "accepteret_tidspunkt" fra databasen + eller - 2 timer, for det virker? Har jeg ret? I såfald, som nævnt overstående: Hvordan putter jeg det i min query da jeg først kan udtrække accepteret_tidspunkt når jeg har kørt mysql_fetch_Assoc() ?

Takker 10000 gange på forhånd



Tror du leder efter noget i stil med
Fold kodeboks ind/udKode 

Altså at tidspunktet netop nu er mere end to timer efter `accepteret_tidspunkt`



Tak, den kendte jeg faktisk ikke. Men det fungerer dog ikke, desværre.

Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 09.11.2010 18:41 af Bruger #9820
Men på den anden side, der er jo mere en blot én række i tabellen, så den skal vel på en eller anden måde kører alle rækkerne igennem og tage dem enkeltvis for at kunne gøre dette?

Puha, er godt nok forvirret, jeg mangler feedback



Ser dette rigtigt ud?


Fold kodeboks ind/udKode 




hvad med bare at vende betingelsen om:

< i stedet for >

I dit originale indlæg.



Indlæg senest redigeret d. 09.11.2010 19:38 af Bruger #5620
t