10. april 2004 - 20:27Der er
47 kommentarer og 2 løsninger
Time system? Hvordan?
I denne smukke aften er der en "nørd" som sidder inde ved sin computer og arbejder med sin side... Men han manger hjælp og er gået ind på www.exp.dk for at finde hjælp... Og nu opretter han så dette spørgesmål:
Jeg er ved at oprette et community hvor jeg vil have et time system ind i. Men hvordan gør jeg det? Og hvordan for jeg den til at skrive du har været online i XXX timer, XXX minutter og XXX sekunder. ?
Og også hvordan skal den gemme i MySQL ? Hjælp til det hele søges...
Du kunne oprette en session når man kommer ind på siden, og så gemme tiden i den... så kan du så bagefter regne differencen ud... brug evt unix timestamp som er fortræffeligt til den slags...
Jeg er på 30 sekunder og ser 3 sider der hver opdaterer data: efter 10 sekunder: mysql_query("UPDATE brugere SET onlinetid=onlinetid+10 WHERE brugernavn='dennismp'"); efter 20 sekunder: mysql_query("UPDATE brugere SET onlinetid=onlinetid+20 WHERE brugernavn='dennismp'"); efter 30 sekunder: mysql_query("UPDATE brugere SET onlinetid=onlinetid+30 WHERE brugernavn='dennismp'");
Istedet for 30 har jeg nu været på i 60 sekunder :-)
Nae... Jeg har oprettet en MySQL kolonne som hedder TIMEOUT som indsætter time() i den når man logger ind... Og opdatere den når man laver det der UPDATE BRUGERE :)
Jo... I stedet for at jeg laver en session som hedder online_since så laver jeg en kolonne i min tabel som hedder TIMEOUT... Når man så logger ind laver jeg en INSERT INTO brugere og alt det der sådan at der ikke bliver oprettet en session men en tabel med TIME() i... Og så i min fil UPDATE.PHP så opdatere den lige timeout med TIME igen i stedet for den opdatere SESSIONen :)
Jeg har selv fået det til at virke... Det er pga. at der er "" rundt om fx time()-$_SESSION[login_tid] og rundt om time() og det må der ikke være... Åbenbart... Så nu virker det fint... Men den gider bare ikke onlinetid+$duration :(
mysql_query("UPDATE brugere SET onlinetid='onlinetid+$duration' WHERE brugernavn='{$_SESSION['brugernavn']}'");
Det her er forkert, syntaxmæssigt (i din kode).. Prøv istedet mysql_query("UPDATE brugere SET onlinetid=onlinetid+$duration WHERE brugernavn='{$_SESSION['brugernavn']}'");
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.