ole20 Skrevet 13. april 2006 Del Skrevet 13. april 2006 Jeg holder på med 2 sider i php og MySql. Når jeg har vært på side 1 blir onlinetime registrert i databasen. Jeg vil at hvis jeg prøver å gå til side 2 før det har gått 10 minutter fra jeg var på side 1, så får jeg en error om at det ikke er 10 minutter siden jeg var på side 1. Hva er koden i php for å få til et felt i databasen som har kommet 10 minutter lengre enn onlinetime? Lenke til kommentar
CruellaDeVille Skrevet 13. april 2006 Del Skrevet 13. april 2006 Jeg holder på med 2 sider i php og MySql. Når jeg har vært på side 1 blir onlinetime registrert i databasen. Jeg vil at hvis jeg prøver å gå til side 2 før det har gått 10 minutter fra jeg var på side 1, så får jeg en error om at det ikke er 10 minutter siden jeg var på side 1. Hva er koden i php for å få til et felt i databasen som har kommet 10 minutter lengre enn onlinetime? 5913057[/snapback] Jeg ble litt nysgjerrig.. Hvorfor vil du gjøre dette? Lenke til kommentar
ole20 Skrevet 13. april 2006 Forfatter Del Skrevet 13. april 2006 Fordi jeg ble nysgjerrig etter å ha sett en side som hadde det. Tenkte det hadde vært fint å lære. Lenke til kommentar
rønning Skrevet 13. april 2006 Del Skrevet 13. april 2006 (endret) på side 1 kan du lagre $onlinetime=time() i databasen....på side 2 kan du ha $requiredtime =$onlinetime + 600 600 = antall sekunder i 10 min if (time() >= $requiredtime) { echo "ok"; } else { echo "ikke ok"; } vet ikke helt om ting ble rett skrevet her nå, men tanken trro jeg skal funke Endret 13. april 2006 av rønning Lenke til kommentar
ole20 Skrevet 13. april 2006 Forfatter Del Skrevet 13. april 2006 (endret) på side 1 kan du lagre $onlinetime=time() i databasen....på side 2 kan du ha $requiredtime =$onlinetime + 600 600 = antall sekunder i 10 min if (time() >= $requiredtime) { echo "ok"; } else { echo "ikke ok"; } vet ikke helt om ting ble rett skrevet her nå, men tanken trro jeg skal funke 5913742[/snapback] Takker for det, men problemet mitt er hvordan jeg skal skrive det inn for å få lagret det. Ok: Jeg har et felt som heter sidetid og et felt som heter onlinetime, disse er formattert til DATETIME 0000-00-00 00:00:00. Jeg kjører på Mysql 5.0 Jeg har prøvd bl.a. $nysidetid = $brukerrow['onlinetime'] + (600) <---dette kan ikke være riktig doquery("UPDATE {{table}} SET sidetid='$nysidetid' WHERE id= ...... Skriver jeg det slik fortsetter det bare å stå 0000-00-00 00:00:00 i sidetid Hva er koden for å få sidetid til å vise 10 minutter på forhånd enn onlinetime (onlinetime er det samme som NOW) Hvis det står 2006-04-12 12:05:00 i onlinetime, skal det bli lagret 2006-04-12 12:15:00 i sidetid Endret 13. april 2006 av ole20 Lenke til kommentar
rønning Skrevet 13. april 2006 Del Skrevet 13. april 2006 du trenger ikke bruke DATETIME i MySQL-feltet...bare bruk vanlige tall og sett inn time().... hvis du vil ha dette tidspunktet ut på en bestemt måte skriver du bare f.eks. date(HH:mm, time()) Lenke til kommentar
ofredstie Skrevet 14. april 2006 Del Skrevet 14. april 2006 Hva med aa bruke Timestamp i databasen? Timestamp vil oppdateres hver gang du oppdaterer dataene. f.eks. CREATE TABLE testtable ( t_id INT(4) NOT NULL AUTO_INCREMENT, time TIMESTAMP(14) NOT NULL, -- CONSTRAINT TESTTABLE_PK PRIMARY KEY (t_id) ); Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå