Avatar billede TiHs Nybegynder
19. april 2007 - 15:09 Der er 2 kommentarer og
1 løsning

PHP beløb med komma og ikke punktum

Hej eksperter.

Har en tabel der ser sådan her ud:
CREATE TABLE `toej` (
  `id` int(6) unsigned NOT NULL auto_increment,
  `del` varchar(100) NOT NULL default '',
  `pic` text NOT NULL,
  `maerke` varchar(100) NOT NULL default '',
  `pris` decimal(18,2) NOT NULL default '0.00',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;


Sådan her viser jeg beløb og summer:

functions.inc.php:

<?php
function writeShoppingCart() {
    $cart = $_SESSION['cart'];
    if (!$cart) {
        return 'Indkøbskurven er tom';
    } else {
        // Parse the cart session variable
        $items = explode(',',$cart);
        $s = (count($items) > 1) ? 's':'';
        return 'Du har <a href="cart.php">'.count($items).' ting'.$s.' i din indkøbskurv</a>';
    }
}

function showCart() {
    global $db;
    $cart = $_SESSION['cart'];
    if ($cart) {
        $items = explode(',',$cart);
        $contents = array();
        foreach ($items as $item) {
            $contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1;
        }
        $output[] = '<form action="cart.php?action=update" method="post" id="cart">';
        $output[] = '<table border=1 cellspacing=0 borderColor=black>';
        foreach ($contents as $id=>$qty) {
            $sql = 'SELECT * FROM toej WHERE id = '.$id;
            $result = $db->query($sql);
            $row = $result->fetch();
            extract($row);
            $output[] = '<tr>';
            $output[] = '<td width=30px><a href="cart.php?action=delete&id='.$id" class="r">Slet</a></td>';
            $output[] = '<td width=60px>'.$del.'</td>';
            $output[] = '<td width=200px>Mærke:<br /> '.$maerke.'</td>';
            $output[] = '<td width=90px>Kr:'.$pris.'</td>';
            $output[] = '<td width=50px><input type="text" name="qty'.$id.'" value="'.$qty.'" size="2" maxlength="2" /></td>';
            $output[] = '<td width=100px>Kr:'.($pris * $qty).'</td>';
            $total += $pris * $qty;
            $output[] = '</tr>';
        }
        $output[] = '</table>';
        $output[] = '<br />I alt: <strong>Kr:'.$total.'</strong>';
        $output[] = '<div><br /><button type="submit">Opdater kurv</button></div>';
        $output[] = '</form>';
    } else {
        $output[] = 'Din indkøbskurv er tom.';
    }
    return join('',$output);
}
?>

og på selve siden:

<body>

<span class="style1">Din indkøbskurv</span>
<br />
<br />
<table width="250" border="1" cellpadding="2" cellspacing="0" bordercolor="#000000">
  <tr>
    <td><?php
echo writeShoppingCart();
?></td>
  </tr>
</table><br />
<br />
<span class="style1">Tøj i forretningen</span><br />
<br />

</div><?php
$sql = 'SELECT * FROM toej ORDER BY maerke';
$result = $db->query($sql);
while ($row = $result->fetch()) {
    $output[] = '<table border=1 cellspacing=0 borderColor=black>';
    $output[] = '<tr>';
    $output[] = '<td width=60px>"'.$row['del'].'"</td>';
    $output[] = '<td width=200px>M&aelig;rke:<br />'.$row['maerke'].'</td>';
    $output[] = '<td width=40px><img src="pics/thumb'.$row['pic'].'"></td>';
    $output[] = '<td width=90px>Kr:'.$row['pris'].'</td>';
    $output[] = '<td width=30px><a href="cart.php?action=add&id='.$row['id'].'">Tilf&oslash;j</a></td>';
    $output[] = '</tr>';
    $output[] = '</table><br />';
}
echo join('',$output);
?>
</body>

Lige nu kan jeg kun bruge tal som 100.00 og ikke 100,00 altså med komma istedet for punktum. Kan jeg ikke lave det om
så det er komma istedet for punktum ?

Siden kan ses på www.timhs.dk/index2.htm
Avatar billede intenz Novice
19. april 2007 - 18:04 #1
Spørgsmål skulle nok have være i php programmerings kategorien, og ikke i programmeringsopgaver. Men pyt. Her er svaret:

http://dk2.php.net/manual/da/function.number-format.php


$tal = 1234.56;

// Dansk tegnsystem
$dansk_formateret_tal = number_format($tal, 2, ',');
// 1234,56
Avatar billede TiHs Nybegynder
20. april 2007 - 09:38 #2
Hey intenz ... tak for svar
Hvor smider jeg det ind i koden ?
Avatar billede intenz Novice
20. april 2007 - 16:56 #3
Fandt du ud af det siden du accepterede?
Ellers skal det vist være her:
$output[] = '<td width=90px>Kr:'.$row['pris'].'</td>';

ændres til:
$tal = number_format($row[pris], 2, ',');
$output[] = '<td width=90px>Kr:'.$tal.'</td>';
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