Avatar billede henrik_nielsen Nybegynder
24. april 2005 - 11:42 Der er 12 kommentarer og
1 løsning

Top 10 med /

Hej Eksperter.

Jeg er igang med en top 10 over dem med flest timer i mit community. Men jeg kan ikke rigtig få den til at regne ud hvem der har flest og sådan. Den skriver bare 32 timer ved allesammen.

Det er lidt svært for min onlinetid tæller i sekunder altså 1 minut er = 60 og 2 minutter er = 120 osv.

Jeg har forsøgt mig med:

<?
session_start();
if (session_is_registered("brugernavn") AND ("kodeord") AND ("logintid")) {
include "mysql/mysql.php";
$hent_bruger = mysql_query("SELECT * FROM community_avis WHERE brugernavn = '$_SESSION[brugernavn]'") or die(mysql_error());
$vis1 = mysql_fetch_array($hent_bruger);
?>
<html>

<head>


<link rel="stylesheet" href="style" type="text/css">

</head>

<body oncontextmenu="return false"ondragstart="return false"onselectstart="return false">

<script>
if(top.location == location)top.location='http://www.dounie.dk/avis'
</script>

<?
include("mysql/mysql.php");

$real_time = $vis1['onlinetid'] / 60;

$nummer = 0;

$hent = mysql_query("SELECT * FROM community_avis ORDER BY onlinetid DESC LIMIT 10") or die (mysql_error());
while($vis = mysql_fetch_array($hent)) {

$nummer++;

$timer2 = $real_time;
$timer = floor($timer2);
$min = floor(($timer2-$timer)*10);
if($min < 10)$min = "0".$min;

echo("$nummer. $vis[brugernavn] - $timer Timer, og $min Minutter.<br>");
}
?>

</body>

</html>
<?
} else {
print "Du er ikke logget ind!";
}
?>

Håber nogen kan hjælpe.
Avatar billede busschou Praktikant
24. april 2005 - 11:49 #1
Er det ikke fordi du definerer
$timer2 = $real_time;
-----
$hent = mysql_query("SELECT * FROM community_avis ORDER BY onlinetid DESC LIMIT 10") or die (mysql_error());
while($vis = mysql_fetch_array($hent)) {

$nummer++;

$timer2 = $vis['onlinetid']/60;
$timer = floor($timer2);
$min = floor(($timer2-$timer)*10);
if($min < 10)$min = "0".$min;

echo("$nummer. $vis[brugernavn] - $timer Timer, og $min Minutter.<br>");
}
?>
Avatar billede henrik_nielsen Nybegynder
24. april 2005 - 11:57 #2
Nej -  Som der står, så skal det deles fordi onlinetiden er sekunder!
Avatar billede henrik_nielsen Nybegynder
24. april 2005 - 11:59 #3
Sorry  - det virkede, den skriver det bare i timer... den skal jo ikke skrive 55 timer hvis man har 55 min :S?
Avatar billede busschou Praktikant
24. april 2005 - 11:59 #4
JA men først laver du denne
$real_time = $vis1['onlinetid'] / 60;
Så laver du en løkke hvor du hver gang laver denne
$timer2 = $real_time;
Derved får de alle samme tid :o)
du skal vel som i min sidste kommentar hver gang løkken køres hente den tid der er tale om?
Avatar billede busschou Praktikant
24. april 2005 - 12:01 #5
prøv evt lige udskrive dem alle hver for sig...så kan det måske lures hvor matematikken fejler :o)
$hent = mysql_query("SELECT * FROM community_avis ORDER BY onlinetid DESC LIMIT 10") or die (mysql_error());
while($vis = mysql_fetch_array($hent)) {

$nummer++;

$timer2 = $vis['onlinetid']/60;
echo "$timer2";
$timer = floor($timer2);
echo "$timer";
$min = floor(($timer2-$timer)*10);
echo "$min";
if($min < 10)$min = "0".$min;

echo("$nummer. $vis[brugernavn] - $timer Timer, og $min Minutter.<br>");
}
?>
Avatar billede henrik_nielsen Nybegynder
24. april 2005 - 12:01 #6
Hvad skal $timer2 = $vis['onlinetid']/60; deles med??:S
Avatar billede busschou Praktikant
24. april 2005 - 12:04 #7
arhh...den tæller i sekunder hehe
Så er en time jo 3600 sekunder
--
$timer2 = $vis['onlinetid']/3600;
$timer = floor($timer2);
$min = floor(($timer2-$timer)*10);
Avatar billede busschou Praktikant
24. april 2005 - 12:07 #8
og så skal der vel også ganges med 60 istedet for 10?
Hovedregningen gik lige i stå :o)
Avatar billede busschou Praktikant
24. april 2005 - 12:07 #9
$timer2 = $vis['onlinetid']/3600;
$timer = floor($timer2);
$min = floor(($timer2-$timer)*60);
Avatar billede henrik_nielsen Nybegynder
24. april 2005 - 12:09 #10
Ved ham der har flest timer / minutter der skriver den:

1. Nico - 1 Timer, og 00 Minutter.

Den skal jo skrive 04 minutter :S??
Avatar billede henrik_nielsen Nybegynder
24. april 2005 - 12:10 #11
Nu virker det, underligt -  Mener bestemt jeg havde prøvet det.. Men smid et svar =).
Avatar billede busschou Praktikant
24. april 2005 - 12:10 #12
hvilken kode er det med?
Jeg tror den skulle være god nok med dividere med 3600 for timer
Når du så har fx minutter = 0.01 time så skal det jo ganges med 60 for at få minutter
Avatar billede busschou Praktikant
24. april 2005 - 12:11 #13
oki doki ;o)
Nogen gange skal man lige regne en ekstra gang :o)
Godt det virker
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