Avatar billede web-geek Nybegynder
07. oktober 2004 - 17:25 Der er 9 kommentarer

Top 10 i total, fra time()

Hej, jeg vil gerne have vist hvem som har flest timer og minutter fra databasen. Jeg har en tabel som hedder chatbrugere og i den er der total som er sat til time(); det vil sige min kode skal udskrives med timer og min, og ikke time();

Her er min kode.


<?php
include("db.php");
$k = mysql_query("SELECT * FROM chatbrugere ORDER BY total DESC LIMIT 10");
while ($row = mysql_fetch_array($k)){
?>
<?php print "<font size=1 face=Verdana color=#294E6D>$row[brugernavn] - $row[total]<br>";
}
?>
<?php
}
?>
Avatar billede web-geek Nybegynder
07. oktober 2004 - 18:03 #1
Hallo?
Avatar billede bojo Nybegynder
07. oktober 2004 - 18:48 #2
<?php
include("db.php");
$k = mysql_query("SELECT * FROM chatbrugere ORDER BY total DESC LIMIT 10");
while ($row = mysql_fetch_array($k)){
    print "<font size=1 face=Verdana color=#294E6D>$row[brugernavn] - ".date("H:i",$row[total])."<br>";
}
?>
Avatar billede web-geek Nybegynder
07. oktober 2004 - 19:00 #3
Virker ikke den udskriver:

julemanden - 01:01
darkjack msn - 03:31
Webgeek - 13:42
champ - 01:01
Woodo - 01:01
aaaa - 01:01
hachem - 01:01
Fnuggi - 01:01
ll mobil. ll - 01:01
Mr Niceguy - 03:10
Avatar billede bojo Nybegynder
07. oktober 2004 - 19:01 #4
så er det det der står i din database
Avatar billede bojo Nybegynder
07. oktober 2004 - 19:02 #5
prøv med koden som den var før, hvad siger den så?
Avatar billede sylvesternielsen Nybegynder
07. oktober 2004 - 19:35 #6
Lige for at optimere din kode, så brug timestamps til at gemme din tid i.

Altså skal tiden i din database stå i sekunder. Dette gør det også MEGET lettere at ændre værdien for deres tid samt at udskrive pæne resultater samt sortere..

For at opdatere tiden laver du en update:
mysql_query("UPDATE chatbrugere set total=total+". $tiden_i_sek_som_skal_tillægges ."");

For at hente og sortere kan du bruge bojo's eksempel.
Du kan så lave en funktion som regner sekunderne ud til minutter, timer, dage osv.

Din datatype skal bare være int i databasen.
Avatar billede detox Nybegynder
07. oktober 2004 - 19:45 #7
Og den funktion frac hentyder til, har jeg lavet til dig i et tidligere spørgsmål:

function sek2tid($s) {
    $tim = floor($s/3600);
    $tstr = $tim == 1 ? 'time' : 'timer';
    $min = ($s/60)%60;
    $mstr = $min == 1 ? 'minut' : 'minutter';
    $sek = $s%60;
    $sstr = $sek == 1 ? 'sekund' : 'sekunder';
    return sprintf("%u %s, %u %s og %u %s.", $tim, $tstr, $min, $mstr, $sek, $sstr);
}
Avatar billede web-geek Nybegynder
07. oktober 2004 - 20:44 #8
og hvad bliver koden så helt? fra <? til ?>
Avatar billede web-geek Nybegynder
08. oktober 2004 - 21:52 #9
Ved i det?
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