Avatar billede oliverg Nybegynder
30. august 2003 - 23:24 Der er 64 kommentarer og
1 løsning

online tid?

Hej er der en der ved hvordan man laver en online tids tæller til min chat??
Avatar billede ztyxx Nybegynder
30. august 2003 - 23:30 #1
<?php

include('incdb.php');//mysqlconnect fil


        $ind = time();
        $yt = time();
        if($_GET["logger"] == login) {
            $res = mysql_query("select * from tiddif");
                while($tid = mysql_fetch_array($res)) {
                    echo round($tid[total]/300);
                    }

            mysql_query("update tiddif set logintid=$ind where id=1");
        } elseif($_GET["logger"] == ud) {
            mysql_query("update tiddif set logudtid=$yt where id=1");
            mysql_query("update tiddif set total=total+(logudtid-logintid) where id=1");
        }
   

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>point og tid</title>
</head>
<body>

<br>
<a href="<? $_SERVER["PHP_SELF"];?>?logger=login">Login</a><br>
<a href="<? $_SERVER["PHP_SELF"];?>?logger=ud">Ud</a>

</body>
</html>


#
# Struktur dump for tabellen `tiddif`
#

CREATE TABLE tiddif (
  id int(11) NOT NULL default '0',
  logintid int(11) default NULL,
  logudtid int(11) default NULL,
  total int(11) default NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM;
Avatar billede oliverg Nybegynder
30. august 2003 - 23:31 #2
tester lige....
Avatar billede ztyxx Nybegynder
30. august 2003 - 23:40 #3
denne er bare lavet så den laver point ud fra tiden, det er til at ændre, ved at ændre
echo round($tid[total]/300);
til
echo $tid[total];
Avatar billede oliverg Nybegynder
30. august 2003 - 23:44 #4
hvad skulle den gøre?? der sker ikke nået!
Avatar billede oliverg Nybegynder
30. august 2003 - 23:44 #5
der sker ikke nået
Avatar billede ztyxx Nybegynder
30. august 2003 - 23:46 #6
når du klikker på login-linket sætter den en tid i databasen, når du trykker på log-ud knappen sætter den en anden tid, så regner den din online tid ud, og viser den når du logger på igen
Avatar billede oliverg Nybegynder
30. august 2003 - 23:47 #7
Avatar billede ztyxx Nybegynder
30. august 2003 - 23:49 #8
har du oprettet tabellen i MySQL?
Avatar billede oliverg Nybegynder
30. august 2003 - 23:49 #9
ja
Avatar billede oliverg Nybegynder
30. august 2003 - 23:50 #10
må jeg se din??
Avatar billede ztyxx Nybegynder
30. august 2003 - 23:52 #11
skal lige have den online, to sek.
Avatar billede ztyxx Nybegynder
31. august 2003 - 00:05 #12
glemte lige denne
INSERT INTO tiddif VALUES (1, 0, 0, 0);
i databasedumpet
Avatar billede ztyxx Nybegynder
31. august 2003 - 00:06 #13
Avatar billede oliverg Nybegynder
31. august 2003 - 00:09 #14
ups kom til at klikke på Accepteret svar
Avatar billede ztyxx Nybegynder
31. august 2003 - 00:10 #15
jeg kan oprette et spørgsmål hvor du får dine point tilbage, hvis du ikke vil bruge mit forslag, du siger bare til
Avatar billede oliverg Nybegynder
31. august 2003 - 00:10 #16
mit net går ned hele tiden :-(
Avatar billede oliverg Nybegynder
31. august 2003 - 00:12 #17
ja, du sagde jo ikke nået med VALUES (1, 0, 0, 0);
Avatar billede ztyxx Nybegynder
31. august 2003 - 00:12 #18
skal jeg lave et spm med point retur ?
Avatar billede oliverg Nybegynder
31. august 2003 - 00:14 #19
jeg kan ikke komme ind på php my admin det er forbindelsen der er nede
Avatar billede ztyxx Nybegynder
31. august 2003 - 00:16 #20
Avatar billede oliverg Nybegynder
31. august 2003 - 00:17 #21
det er tilbage om nogle minutter
Avatar billede oliverg Nybegynder
31. august 2003 - 00:17 #22
nej nej jeg tror det kommer til at virke!
Avatar billede ztyxx Nybegynder
31. august 2003 - 00:20 #23
hvis du ikke kan komme ind på din phpmyadmin, kan du bare lave en phpfil der ser sådan ud:

<?php
mysql_query("INSERT INTO tiddif (id, logintid, logudtid, total) VALUES (1, 0, 0, 0);
echo "sådan";
?>

og kører den en gang i din browser
Avatar billede oliverg Nybegynder
31. august 2003 - 00:22 #24
jeg kan heller ikke komme ind på min ftp :-(

Kan man lave så den fx. skriver du har været online i 2 minutter og 26 seks ??
Avatar billede oliverg Nybegynder
31. august 2003 - 00:25 #25
jeg kommer tilbage imogen! ses
Avatar billede ztyxx Nybegynder
31. august 2003 - 00:25 #26
ja det kan du, hvis du fjerner /300 som jeg foreslog, kan du udskrive det med en udregning af tiden, da time() logger antal sekunder fra 1/1 - 1970, kl. 00.00.00, så det er et simpelt regnestykke
Avatar billede ztyxx Nybegynder
31. august 2003 - 00:25 #27
oki, hopper også i seng..
Avatar billede oliverg Nybegynder
31. august 2003 - 08:32 #28
hej igen! det fatter jeg ikke, kan du prøve at lave koden?
Avatar billede oliverg Nybegynder
31. august 2003 - 08:39 #29
hehe forstår det nu det med /300!  men hvordan kan jeg lave så hvis du har været online i timer så skriver den fx. online i $timer(timerne) og $sek(seksne)
Avatar billede oliverg Nybegynder
31. august 2003 - 09:16 #30
Nej vent lidt!
Avatar billede oliverg Nybegynder
31. august 2003 - 09:19 #31
Kan med lave så i koden den ikke bare laver nogle tal fx. 15268468 men du har en der heder timer og en der heder minutter?  så dan opdatere til dem! hvis der er over 60 seks så skal den update med minutter + 1 og nå der er over 60 minutter så + 1 i timer o.s.v...??
Avatar billede ztyxx Nybegynder
31. august 2003 - 12:47 #32
ja, for den udregner tidsforskellen mellem logintid og logudtid i sekunder, så det er bare at regne sig frem
Avatar billede oliverg Nybegynder
31. august 2003 - 14:45 #33
kan du ikke vise hvordan ???
Avatar billede ztyxx Nybegynder
31. august 2003 - 18:08 #34
du hiver total ud af databasen

$res = mysql_query("select * from tiddif");
                while($tid = mysql_fetch_array($res)) {
                    echo round($tid[total]/60);
                    }
det giver antal minutter
Avatar billede oliverg Nybegynder
31. august 2003 - 18:19 #35
hvad så med timer??
Avatar billede ztyxx Nybegynder
31. august 2003 - 18:20 #36
60*60== 3600
echo round($tid[total]/3600);
så du laver bare udregningerne hen ad vejen
Avatar billede oliverg Nybegynder
31. august 2003 - 18:22 #37
jeg kan ikke stille det op, vil du ikke sætte det ind i koden ??? men både minutter og timer?
Avatar billede ztyxx Nybegynder
31. august 2003 - 18:29 #38
skal ud af døren, kommer nok på senere i aften
Avatar billede oliverg Nybegynder
31. august 2003 - 18:38 #39
ok ses!
Avatar billede oliverg Nybegynder
01. september 2003 - 21:24 #40
er du der??
Avatar billede ztyxx Nybegynder
01. september 2003 - 22:18 #41
sorry, fik det ikke lavet i går, men dette giver online timer og minutter:

<?php

include('incdb.php');


        $ind = time();
        $yt = time();
        if($_GET["logger"] == login) {
            $res = mysql_query("select * from tiddif");
                while($tid = mysql_fetch_array($res)) {
                    echo "Du har været online i " . $tid["total"] . " sekunder.<br>";
                    $timer = floor($tid["total"]/3600);
                    $minutter = $tid["total"]%3600 . "<br>";
                    echo "Det er " . $timer . " timer og " . floor($minutter/60) . " minutter.<br>";

                    }

            mysql_query("update tiddif set logintid=$ind where id=1");
        } elseif($_GET["logger"] == ud) {
            mysql_query("update tiddif set logudtid=$yt where id=1");
            mysql_query("update tiddif set total=total+(logudtid-logintid) where id=1");
        }
   

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>point og tid</title>
</head>
<body>

<br>
<a href="<? $_SERVER["PHP_SELF"];?>?logger=login">Login</a><br>
<a href="<? $_SERVER["PHP_SELF"];?>?logger=ud">Ud</a>

</body>
</html>
<br>
Avatar billede ztyxx Nybegynder
01. september 2003 - 22:26 #42
skal sekunderne også med:

<?php

include('incdb.php');


        $ind = time();
        $yt = time();
        if($_GET["logger"] == login) {
            $res = mysql_query("select * from tiddif");
                while($tid = mysql_fetch_array($res)) {
                    echo "Du har været online i " . $tid["total"] . " sekunder.<br>";
                    $timer = floor($tid["total"]/3600);
                    $minutter = $tid["total"]%3600 . "<br>";
                    echo "Det er det samme som " . $timer . " timer, " . floor($minutter/60) . " minutter og " . $minutter%60 . " sekunder.<br>";

                    }

            mysql_query("update tiddif set logintid=$ind where id=1");
        } elseif($_GET["logger"] == ud) {
            mysql_query("update tiddif set logudtid=$yt where id=1");
            mysql_query("update tiddif set total=total+(logudtid-logintid) where id=1");
        }
   

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>point og tid</title>
</head>
<body>

<br>
<a href="<? $_SERVER["PHP_SELF"];?>?logger=login">Login</a><br>
<a href="<? $_SERVER["PHP_SELF"];?>?logger=ud">Ud</a>

</body>
</html>
<br>
Avatar billede ztyxx Nybegynder
01. september 2003 - 22:28 #43
øhh, du skal lige fjerne <br> efter </html>, ved ikke lige hvordan det er havnet der....
Avatar billede oliverg Nybegynder
02. september 2003 - 18:30 #44
hej hvordan kan jeg finde rondt i mysqlen? altså hvad er hvad!
Avatar billede oliverg Nybegynder
02. september 2003 - 18:34 #45
et til spm! kan jeg lave i hvert 10. minut plusser den en tabel med 1??
Avatar billede ztyxx Nybegynder
02. september 2003 - 22:21 #46
her er indsat lidt kommentarer:

<?php

include('incdb.php');


        $ind = time();
        $yt = time();
        if($_GET["logger"] == login) {
            $res = mysql_query("select * from tiddif");
                while($tid = mysql_fetch_array($res)) {
                    echo "Du har været online i " . $tid["total"] . " sekunder.<br>";//$tid["total"] er differencen mellem login og logud tiden
                    $timer = floor($tid["total"]/3600);//online timer regnes ud ved division af $tid["total"] med 3600, som er antal af sekunder på en time
                    $minutter = $tid["total"]%3600 . "<br>";//minutterne der er tilovers ved division med 3600, findes ved brug af % som divisionstegn
                    echo "Det er det samme som " . $timer . " timer, " . floor($minutter/60) . " minutter og " . $minutter%60 . " sekunder.<br>";//samme fremgangsmåde som ved minutter

                    }

            mysql_query("update tiddif set logintid=$ind where id=1");//her opdateres feltet logintid ved login
        } elseif($_GET["logger"] == ud) {
            mysql_query("update tiddif set logudtid=$yt where id=1");//her opdateres feltet logudtid ved logud
            mysql_query("update tiddif set total=total+(logudtid-logintid) where id=1");//her opdateres totaltiden ved logout
        }
   

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>point og tid</title>
</head>
<body>

<br>
<a href="<? $_SERVER["PHP_SELF"];?>?logger=login">Login</a><br>
<a href="<? $_SERVER["PHP_SELF"];?>?logger=ud">Ud</a>

</body>
</html>
Avatar billede ztyxx Nybegynder
02. september 2003 - 22:25 #47
du kan ikke umiddelbart gøre det så det sker automatisk hver tiende minut, men du kan gøre så der regnes et point antal ud, som så indsættes i et pointfelt i databasen, for at finde point for hver ti minutter skal du bruge
floor($tid[total]/600)
Avatar billede oliverg Nybegynder
03. september 2003 - 19:10 #48
hvordan?
Avatar billede ztyxx Nybegynder
03. september 2003 - 21:41 #49
du smider bare en ny mysql_query ind, hvor du opdaterer pointfeltet med de point der regnes frem til med eksemplet jeg har vist
Avatar billede oliverg Nybegynder
04. september 2003 - 18:41 #50
jaja...men hvor skal mysql_query´en hen??
Avatar billede ztyxx Nybegynder
04. september 2003 - 22:12 #51
i logout {} erne
Avatar billede oliverg Nybegynder
05. september 2003 - 15:12 #52
ok, hvordan ser koden ud ?? kan du lave det og sætte det ind i koden så får du lidt flere points!
Avatar billede ztyxx Nybegynder
05. september 2003 - 22:23 #53
så skal koden ved logout se nogenlunde sådan ud, utestet, og husk at oprette et felt i databasen der hedder pointfelt

} elseif($_GET["logger"] == ud) {
            mysql_query("update tiddif set logudtid=$yt where id=1");
            mysql_query("update tiddif set total=total+(logudtid-logintid)where id=1");
            $point = floor($tid[total]/600);
            mysql_query("update tiddif set pointfelt=pointfelt+$point");
        }
Avatar billede oliverg Nybegynder
06. september 2003 - 09:15 #54
det virker ikke! der kommer ikke nogle points!
Avatar billede ztyxx Nybegynder
06. september 2003 - 17:15 #55
har du oprettet et felt i din database til de point ?
Avatar billede oliverg Nybegynder
07. september 2003 - 09:31 #56
jaja...
Avatar billede oliverg Nybegynder
10. september 2003 - 17:51 #57
hmmm.....er du der?
Avatar billede ztyxx Nybegynder
10. september 2003 - 23:03 #58
i grunden er der jo ikke noget formål med at indsætte point i databasen, man kan jo bare lave udregningen ud fra tiden, som så udskrives når man logger ind
Avatar billede oliverg Nybegynder
11. september 2003 - 20:32 #59
??? hvad mener du? det er jo til et bruger system, hvad nu hvis man ikke trykker logud hvad så?
Avatar billede oliverg Nybegynder
13. september 2003 - 13:19 #60
er du der??

??? hvad mener du? det er jo til et bruger system, hvad nu hvis man ikke trykker logud hvad så?
Avatar billede oliverg Nybegynder
14. september 2003 - 17:16 #61
er du der??
Avatar billede oliverg Nybegynder
12. oktober 2003 - 20:07 #62
er du der eller hvad??? eller lukker jeg!
Avatar billede oliverg Nybegynder
21. oktober 2003 - 20:27 #63
er du der?
Avatar billede ztyxx Nybegynder
22. oktober 2003 - 18:44 #64
Ja det har jeg så ikke lige taget højde for her, men man kunne køre noget med sessions istedet, kunne jeg forestille mig
Avatar billede seb-boy Nybegynder
01. august 2005 - 23:15 #65
Hej ;D

Hmm,
Så det vil sige koderne er ?
og filnavnene er ?
(:
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester