Avatar billede kasim Nybegynder
10. november 2007 - 11:57 Der er 11 kommentarer

point visning

hej... jeg har et pointsystem som sætter point rigtigt ind i min database.. jeg har gjorte så man for 1 point pr min. .... men så når jeg skal hente pointene bliver det hele forkert.. her min kode til hentning af min og point..

echo "Du har været online i " . $row["totaltid"] . " sekunder.<br>";//$tid["total"] er differencen mellem login og logud tiden
$timer = floor($row["totaltid"]/3600);//online timer regnes ud ved division af $tid["total"] med 3600, som er antal af sekunder på en time
$minutter = $row["totaltid"]%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
echo "Antal point: ";
echo round($row[point]/100000000);
Avatar billede kasim Nybegynder
10. november 2007 - 12:02 #1
echo round($row[point]/100000000); det der hvor den viser så i ved det ;)
Avatar billede nielle Nybegynder
11. november 2007 - 10:01 #2
Hvordan kommer du frem til "100000000" ?

Og hvorfor er det ikke bare

echo "Antal point: " . $row["point"];
Avatar billede kasim Nybegynder
12. november 2007 - 18:38 #3
ved heller ik men når man gør det du siger så viser den mange tal er kode til at sætte point $tid = $dbarray['logintid'];
$sammenlign = time() - $tid;
$minutter = $sammenlign / 60;
if($minutter > 60){
$regn = $minutter - 60;
$min = round($regn);
}else{
$min = round($minutter);
}
$point = $min*$pointsats;
mysql_query("update members set point = point+'$point' where username='....' & id='...'");
Avatar billede kasim Nybegynder
12. november 2007 - 18:39 #4
og pointsatsen er 1 point
Avatar billede nielle Nybegynder
12. november 2007 - 21:05 #5
Hvis der kommer for mange point i databasen så er det vel der at man bør læede efter fejlen. Prøv med dette:

$tid = $dbarray['logintid'];
$sammenlign = time() - $tid;
$minutter = $sammenlign / 60;
if ($minutter > 60) {
    $regn = $minutter - 60;
    $min = round($regn);
} else {
    $min = round($minutter);
}
$point = $min * $pointsats;

$sql = "UPDATE members SET point = point + $point WHERE username = '....' & id = '...'";
echo "DEBUG: $sql<br>";

mysql_query($sql);

Hvad bliver der udskrevet? Der skal i øvrigt ikke '-tegn rundt om $point i UPDATE-sætningen.

PS: Hvorfor skal man egentlig snydes for 60 point lige så snart man har væeret på mere end en time?
Avatar billede kasim Nybegynder
13. november 2007 - 17:50 #6
det der er fejlen også altså når man har været en time på så starter den forfra på en måde så kan  du lige hjælpe med så den viser det rigtige selvom man har over en time.?
Avatar billede nielle Nybegynder
13. november 2007 - 21:45 #7
Ikke forstået? Hvorfor har du overhovedet noget kode som gør noget specielt hvsi der er gået en time?

Hvorfor have:

$minutter = $sammenlign / 60;
if ($minutter > 60) {
    $regn = $minutter - 60;
    $min = round($regn);
} else {
    $min = round($minutter);
}
$point = $min * $pointsats;

i stedet for simpelthen:

$minutter = $sammenlign / 60;
$point = $min * $pointsats;
Avatar billede kasim Nybegynder
14. november 2007 - 17:05 #8
jeg ved faktisk ikke men tror den ville virke på din måde? så timesystem og pointsystem virker??
Avatar billede nielle Nybegynder
16. november 2007 - 19:54 #9
Der er i hvertfald ikke noget i vejen med koden (som jeg kan se det...) så det burde virke. Men det må jo komme an på en prøve.
Avatar billede nielle Nybegynder
26. november 2007 - 17:14 #10
Er du kommet vidre med denne her?
Avatar billede nielle Nybegynder
03. december 2007 - 18:52 #11
??
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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