Avatar billede mpj_86 Nybegynder
06. august 2006 - 09:50 Der er 17 kommentarer og
1 løsning

Rund op/ned til det nærmeste 10 tal?

Hej

Hvordan lave man, så $antal bliver rundet op eller ned til det nærmeste 10 tal?

f.eks: $antal = 5 skal den runde ned til 0
f.eks: $antal = 11 skal den runde op til 20
f.eks: $antal = 42 skal den runde op til 50

Den må altså ikke runde ned med mindre at $antal er mindre ind 10 ellers skal den runde op.

Er det muligt i php?
Avatar billede nielle Nybegynder
06. august 2006 - 10:05 #1
round($antal, -1);
Avatar billede nielle Nybegynder
06. august 2006 - 10:06 #2
Dine eksempler passer ikke særlig godt med at du skriver at du ønsker at runde op eller ned til nærmeset 10 tal?
Avatar billede mpj_86 Nybegynder
06. august 2006 - 10:08 #3
Viste ikke lige elles hvad det kunne hede :)
Det skal virke som mine eksempler..
Avatar billede nielle Nybegynder
06. august 2006 - 10:09 #4
$antalR = round($antal, -1);
if ($antal < 10)
    $antalR = 0;
else
    if ($antalR < $antal)
        $antalR += 10;
$antal = $antalR;
Avatar billede mpj_86 Nybegynder
06. august 2006 - 10:13 #5
Det virker perfekt. :)

Smid et svar..
Avatar billede nielle Nybegynder
06. august 2006 - 10:15 #6
Svar :^)
Avatar billede mpj_86 Nybegynder
06. august 2006 - 10:52 #7
Jeg skal bruge den sådan her:

$antalR = round($antal, -1);
if ($antal < 10) {
    $antalR = 0;
    $_SESSION['last_page'][$id] = $antalR;
} else {
    if ($antalR < $antal) {
        $antalR += 10;
        $_SESSION['last_page'][$id] = $antalR -10;
    }
}
echo $_SESSION['last_page'][$id];

Er det den rigtige måde jeg har brugt -10 på?
Avatar billede nielle Nybegynder
06. august 2006 - 10:57 #8
Umiddelbart ville jeg mene at den skulle se sådan her ud:

$antalR = round($antal, -1);
if ($antal < 10) {
    $antalR = 0;
} else {
    if ($antalR < $antal) {
        $antalR += 10;
    }
}
$_SESSION['last_page'][$id] = $antalR;
echo $_SESSION['last_page'][$id];


Ang. "Er det den rigtige måde jeg har brugt -10 på?" så vil jeg umiddelbart gætte på at det er forkert. Hvorfor først lægge 10 til $antalR for at runde op, for dernæst at trække dem fra igen i næste linje?
Avatar billede mpj_86 Nybegynder
06. august 2006 - 11:00 #9
Fordi den havde en ide med at lægge 10 mere til end jeg skulle bruge.

$antal ser sådan ud: $antal = mysql_result(mysql_query("SELECT COUNT(id) FROM forum_svar WHERE traad_id = '$id'"),0) or die(mysql_error());
Avatar billede nielle Nybegynder
06. august 2006 - 11:08 #10
Den lægger ikke mere til end den har fået besked på. Er du sikker på at der skal rundes op?
Avatar billede mpj_86 Nybegynder
06. august 2006 - 11:12 #11
Det er her jeg bruger den: http://www.hot-cars.dk/spm.php?id=42

Der hvor jeg bruger den har jeg tilføjet: //Bruges her.

Bruger den til at finde ud af hvad den sidste side i paging er.
Avatar billede mpj_86 Nybegynder
06. august 2006 - 11:14 #12
Så når folk skriver et svar så bliver de sendt over til den sidste side..
Avatar billede nielle Nybegynder
06. august 2006 - 11:16 #13
Du bliver nopk nødt til at fortælle noget mere hvis jeg skal forstå hvad problemet er. :^)
Avatar billede mpj_86 Nybegynder
06. august 2006 - 11:20 #14
Jeg har en sidevælger som du kan se med: 1 2  Næste.

Når der bliver skrevet et svar så bliver brugeren sendt med:
header('Location: spm.php?id='.$id);

Men jeg vil så have at personen bliver sendt over til en sidste side i sidevælger i dette ex. skal han sendes over til spm.php?id=42&p=10
Avatar billede mpj_86 Nybegynder
06. august 2006 - 11:24 #15
Det virker også, med den jeg skrev til dig med -10..
Avatar billede nielle Nybegynder
06. august 2006 - 11:46 #16
Hvis den med -10 virker, så bør dette her også virke:

$antalR = round($antal, -1);
if ($antal < 10) {
    $antalR = 0;
    $_SESSION['last_page'][$id] = $antalR;
} else {
    if ($antalR < $antal) {
        $_SESSION['last_page'][$id] = $antalR;
    }
}
echo $_SESSION['last_page'][$id];
Avatar billede mpj_86 Nybegynder
06. august 2006 - 11:55 #17
Det virker også, takker...
Avatar billede nielle Nybegynder
06. august 2006 - 12:08 #18
Det eneste jeg undre mig over er at den netop ikke runder op.

Iøvrigt kan den omskrives endnu til

$antalR = round($antal, -1);
if ($antal < 10) $antalR = 0;
$_SESSION['last_page'][$id] = $antalR;
echo $_SESSION['last_page'][$id];
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