Avatar billede TiHs Nybegynder
20. april 2007 - 12:12 Der er 20 kommentarer og
1 løsning

talformat fra sessions og tabel

Hej eksperter

Jeg henter oplysninger ind på min side fra en tabel sådan
her:

<?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>';


*/Denne her linie det drejer sig om*/
    $output[] = '<td width=90px>Kr:'.$row['pris'].'</td>';
*/Denne her linie det drejer sig om*/


    $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);

Jeg vil gerne have pris til at blive skrevet med: xxx,xx og ikke
xxx.xx

Hvordan skriver jeg det i koden ?

Derudover viser jeg totaler i min indkøbskurv. Disse vises okay
nu hvor jeg har indsat følgende:

<?php
setlocale(LC_ALL, 'da_DK');
echo showCart();
?>

.. men hvis beløbet står i tabellen med 700.00 så viser den
ikke 700,00 på siden. Den viser så kun 700
Hvordan rettes dette så ?
Avatar billede dmdisco Nybegynder
20. april 2007 - 12:17 #1
http://dk.php.net/number_format
$row['pris'] = number_format($row['pris'], 2, ",", ".");
sådan?
Avatar billede TiHs Nybegynder
20. april 2007 - 13:49 #2
Hej dmdisco

det virker fint pånær:

$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 = number_format($pris, 2, ",", ".").'</td>';
            $output[] = '<td width=50px><input type="text" name="qty'.$id.'" value="'.$qty.'" size="2" maxlength="2" /></td>';

*/her går det galt:*/
            $output[] = '<td width=100px>Kr:'.($pris * $qty).'</td>';

*/her går det galt:*/
            $total += $pris * $qty;
            $output[] = '</tr>';
        }
        $output[] = '</table>';
        $output[] = '<br />I alt: <strong>Kr:'.$total.'</strong>';

.. hvordan skriver jeg det disse to steder hvor den ganger op ?
Avatar billede TiHs Nybegynder
20. april 2007 - 14:03 #3
hov ...

nej det er :

$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 = number_format($pris, 2, ",", ".").'</td>';
            $output[] = '<td width=50px><input type="text" name="qty'.$id.'" value="'.$qty.'" size="2" maxlength="2" /></td>';

*/her går det galt:*/
            $output[] = '<td width=100px>Kr:'.($pris * $qty).'</td>';

            $total += $pris * $qty;
            $output[] = '</tr>';
        }
        $output[] = '</table>';
        $output[] = '<br />I alt: <strong>Kr:'.$total.'</strong>';

.. hvordan skriver jeg det disse to steder hvor den ganger op ?
Avatar billede dmdisco Nybegynder
20. april 2007 - 14:13 #4
samme måde
$pris = number_format($pris, 2, ",", ".");
$total = number_format($total, 2, ",", ".");

eller

$total += number_format($pris * $qty, 2, ",", ".");
Avatar billede TiHs Nybegynder
20. april 2007 - 14:17 #5
Det er selve denne her linie der driller ....

$output[] = '<td width=100px>Kr:'.($pris * $qty).'</td>';
Avatar billede dmdisco Nybegynder
20. april 2007 - 14:22 #6
$output[] = '<td width=100px>Kr:'.number_format($pris * $qty, 2, ",", ".").'</td>';
Avatar billede TiHs Nybegynder
20. april 2007 - 14:31 #7
Perfekt ... nu den ved at være der ...
Det sidste problem er bare at den ikke vil vise ,50 eller ,99 osv ...
Den ligger fint sammen og ganger osv, men den vil ikke gøre det med
mine øre.... ved du hvad det kan være ??
Avatar billede dmdisco Nybegynder
20. april 2007 - 14:33 #8
havde du decimalerne med før du ændrede formatet?
altså hvis du udskriver $pris * $qty uden formateringen har du da decimaler på?
Avatar billede TiHs Nybegynder
20. april 2007 - 14:39 #9
Ja de var fint med før ja.

Prøv at se siden i test: www.timhs.dk/index2.php
Avatar billede TiHs Nybegynder
20. april 2007 - 14:41 #10
Hele koden:

<?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 = number_format($pris, 2, ",", ".").'</td>';
            $output[] = '<td width=50px><input type="text" name="qty'.$id.'" value="'.$qty.'" size="2" maxlength="2" /></td>';
            $output[] = '<td width=100px>Kr:'.number_format($pris * $qty, 2, ",", ".").'</td>';
            $total += $pris * $qty;
            $output[] = '</tr>';
        }
        $output[] = '</table>';
        $output[] = '<br />I alt: <strong>Kr:'.$total = number_format($total, 2, ",", ".").'</strong>';
        $output[] = '<div><br /><button type="submit">Opdater kurv</button></div>';
        $output[] = '</form>';
    } else {
        $output[] = 'Din indkøbskurv er tom.';
    }
    return join('',$output);
}
?>


og min tabel:

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 ;

og min cart.php:

<?php
// Include MySQL class
require_once('inc/mysql.class.php');
// Include database connection
require_once('inc/global.inc.php');
// Include functions
require_once('inc/functions.inc.php');
// Start the session
session_start();
// Process actions
$cart = $_SESSION['cart'];
$action = $_GET['action'];
switch ($action) {
    case 'add':
        if ($cart) {
            $cart .= ','.$_GET['id'];
        } else {
            $cart = $_GET['id'];
        }
        break;
    case 'delete':
        if ($cart) {
            $items = explode(',',$cart);
            $newcart = '';
            foreach ($items as $item) {
                if ($_GET['id'] != $item) {
                    if ($newcart != '') {
                        $newcart .= ','.$item;
                    } else {
                        $newcart = $item;
                    }
                }
            }
            $cart = $newcart;
        }
        break;
    case 'update':
    if ($cart) {
        $newcart = '';
        foreach ($_POST as $key=>$value) {
            if (stristr($key,'qty')) {
                $id = str_replace('qty','',$key);
                $items = ($newcart != '') ? explode(',',$newcart) : explode(',',$cart);
                $newcart = '';
                foreach ($items as $item) {
                    if ($id != $item) {
                        if ($newcart != '') {
                            $newcart .= ','.$item;
                        } else {
                            $newcart = $item;
                        }
                    }
                }
                for ($i=1;$i<=$value;$i++) {
                    if ($newcart != '') {
                        $newcart .= ','.$id;
                    } else {
                        $newcart = $id;
                    }
                }
            }
        }
    }
    $cart = $newcart;
    break;
}
$_SESSION['cart'] = $cart;
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
   
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Indkøbskurv2</title>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
<style type="text/css">
<!--
.style1 {
    font-size: 18px;
    font-weight: bold;
}
-->
</style>
</head>

<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">Tjek antal...</span><br />
<br />

<?php
setlocale(LC_ALL, 'da_DK');
echo showCart();
?>

<a href="index2.php">Tilbage til forretning...</a>



</body>
</html>
Avatar billede dmdisco Nybegynder
20. april 2007 - 14:51 #11
ahh nu ved jeg det er fordi du ganger et formateret tal
Avatar billede TiHs Nybegynder
20. april 2007 - 14:56 #12
Vil det sige jeg skal have lavet helt om på rækkefølgen af koden eller
en helt ny kode ?
Avatar billede TiHs Nybegynder
20. april 2007 - 15:01 #13
Håber du kan hjælpe mig. Bliver nød til at smutte nu men vil kigge igen i morgen formiddag ... måske senere i dag
Avatar billede dmdisco Nybegynder
20. april 2007 - 15:04 #14
<?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:'.number_format($pris, 2, ",", ".").'</td>';
            $output[] = '<td width=50px><input type="text" name="qty'.$id.'" value="'.$qty.'" size="2" maxlength="2" /></td>';
            $output[] = '<td width=100px>Kr:'.number_format($pris * $qty, 2, ",", ".").'</td>';
            $total += $pris * $qty;
            $output[] = '</tr>';
        }
        $output[] = '</table>';
        $output[] = '<br />I alt: <strong>Kr:'.number_format($total, 2, ",", ".").'</strong>';
        $output[] = '<div><br /><button type="submit">Opdater kurv</button></div>';
        $output[] = '</form>';
    } else {
        $output[] = 'Din indkøbskurv er tom.';
    }
    return join('',$output);
}
?>


og min tabel:

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 ;

og min cart.php:

<?php
// Include MySQL class
require_once('inc/mysql.class.php');
// Include database connection
require_once('inc/global.inc.php');
// Include functions
require_once('inc/functions.inc.php');
// Start the session
session_start();
// Process actions
$cart = $_SESSION['cart'];
$action = $_GET['action'];
switch ($action) {
    case 'add':
        if ($cart) {
            $cart .= ','.$_GET['id'];
        } else {
            $cart = $_GET['id'];
        }
        break;
    case 'delete':
        if ($cart) {
            $items = explode(',',$cart);
            $newcart = '';
            foreach ($items as $item) {
                if ($_GET['id'] != $item) {
                    if ($newcart != '') {
                        $newcart .= ','.$item;
                    } else {
                        $newcart = $item;
                    }
                }
            }
            $cart = $newcart;
        }
        break;
    case 'update':
    if ($cart) {
        $newcart = '';
        foreach ($_POST as $key=>$value) {
            if (stristr($key,'qty')) {
                $id = str_replace('qty','',$key);
                $items = ($newcart != '') ? explode(',',$newcart) : explode(',',$cart);
                $newcart = '';
                foreach ($items as $item) {
                    if ($id != $item) {
                        if ($newcart != '') {
                            $newcart .= ','.$item;
                        } else {
                            $newcart = $item;
                        }
                    }
                }
                for ($i=1;$i<=$value;$i++) {
                    if ($newcart != '') {
                        $newcart .= ','.$id;
                    } else {
                        $newcart = $id;
                    }
                }
            }
        }
    }
    $cart = $newcart;
    break;
}
$_SESSION['cart'] = $cart;
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
   
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Indkøbskurv2</title>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
<style type="text/css">
<!--
.style1 {
    font-size: 18px;
    font-weight: bold;
}
-->
</style>
</head>

<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">Tjek antal...</span><br />
<br />

<?php
setlocale(LC_ALL, 'da_DK');
echo showCart();
?>

<a href="index2.php">Tilbage til forretning...</a>



</body>
</html>
Avatar billede dmdisco Nybegynder
20. april 2007 - 15:05 #15
jeg har bare ændre i den så den kun omformatere tallet når den udskriver det
Avatar billede TiHs Nybegynder
21. april 2007 - 13:41 #16
perfekt dmdisco ... det kører bare nu ...
mange mange tak for hjælpen ... :o))

send et svar
Avatar billede dmdisco Nybegynder
22. april 2007 - 11:33 #17
svar
Avatar billede TiHs Nybegynder
26. april 2007 - 09:10 #18
Hej dmdisco
Er du her stadig ?
Det kom jo til at se fint ud, men nu kan jeg ikke få den til at slette
fra indkøbskurven efter vi har fået det til at virke med rigtig
talformat. ....

Det må ligge i min cart.php eller min functions.inc.php:

Selve rækken der har en slet funktion ligger i 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:'.number_format($pris, 2, ",", ".").'</td>';
            $output[] = '<td width=50px><input type="text" name="qty'.$id.'" value="'.$qty.'" size="2" maxlength="2" /></td>';
            $output[] = '<td width=100px>Kr:'.number_format($pris * $qty, 2, ",", ".").'</td>';
            $total += $pris * $qty;
            $output[] = '</tr>';
        }
        $output[] = '</table>';
        $output[] = '<br />I alt: <strong>Kr:'.number_format($total, 2, ",", ".").'</strong>';
        $output[] = '<div><br /><button type="submit">Opdater kurv</button></div>';
        $output[] = '</form>';
    } else {
        $output[] = 'Din indkøbskurv er tom.';
    }
    return join('',$output);
}
?>

og delete action ligger i cart.php:

<?php
// Include MySQL class
require_once('inc/mysql.class.php');
// Include database connection
require_once('inc/global.inc.php');
// Include functions
require_once('inc/functions.inc.php');
// Start the session
session_start();
// Process actions
$cart = $_SESSION['cart'];
$action = $_GET['action'];
switch ($action) {
    case 'add':
        if ($cart) {
            $cart .= ','.$_GET['id'];
        } else {
            $cart = $_GET['id'];
        }
        break;
    case 'delete':
        if ($cart) {
            $items = explode(',',$cart);
            $newcart = '';
            foreach ($items as $item) {
                if ($_GET['id'] != $item) {
                    if ($newcart != '') {
                        $newcart .= ','.$item;
                    } else {
                        $newcart = $item;
                    }
                }
            }
            $cart = $newcart;
        }
        break;
    case 'update':
    if ($cart) {
        $newcart = '';
        foreach ($_POST as $key=>$value) {
            if (stristr($key,'qty')) {
                $id = str_replace('qty','',$key);
                $items = ($newcart != '') ? explode(',',$newcart) : explode(',',$cart);
                $newcart = '';
                foreach ($items as $item) {
                    if ($id != $item) {
                        if ($newcart != '') {
                            $newcart .= ','.$item;
                        } else {
                            $newcart = $item;
                        }
                    }
                }
                for ($i=1;$i<=$value;$i++) {
                    if ($newcart != '') {
                        $newcart .= ','.$id;
                    } else {
                        $newcart = $id;
                    }
                }
            }
        }
    }
    $cart = $newcart;
    break;
}
$_SESSION['cart'] = $cart;
?>
Avatar billede dmdisco Nybegynder
26. april 2007 - 09:53 #19
hmm kan ikke lige se en fejl og slet ikke noget der skulle have noget med number_format at gøre

p.s
        $s = (count($items) > 1) ? 's':'';
        return 'Du har <a href="cart.php">'.count($items).' ting'.$s.' i din indkøbskurv</a>';

det hedder ikke tings i flertal men bare stadig ting på dansk :P
så abre fjern det fertals s

        return 'Du har <a href="cart.php">'.count($items).' ting i din indkøbskurv</a>';
Avatar billede TiHs Nybegynder
26. april 2007 - 17:39 #20
Hehe ... ja det hedder det da også ... det er ikke sådan når man finder
en kode og ændre det til noget man selv vil bruge.
Nå, jeg må lede videre i koden. Alt andet virker bare ikke min
delete funktion. Min opdater funktion virker med at jeg kan skrive '0' i
qty feltet og trykke opdater, så forsvinder rækken helt og indkøbskurven
bliver tom. Måske jeg bare skal skrive en fast funktion med update med 0 ... så sletter den jo ....
Avatar billede TiHs Nybegynder
26. april 2007 - 18:09 #21
Har lige forsøgt at lave:

<?php
// Include MySQL class
require_once('inc/mysql.class.php');
// Include database connection
require_once('inc/global.inc.php');
// Include functions
require_once('inc/functions.inc.php');
// Start the session
session_start();
// Process actions
$cart = $_SESSION['cart'];
$action = $_GET['action'];
switch ($action) {
    case 'add':
        if ($cart) {
            $cart .= ','.$_GET['id'];
        } else {
            $cart = $_GET['id'];
        }
        break;
    case 'delete':
        if ($cart) {
            $items = explode(',',$cart);
            $newcart = '';
            foreach ($items as $item) {
                if ($_GET['id'] != $item) {
                    if ($newcart != '') {
                        $newcart .= ','.$item;
                    } else {
                        $newcart = $item;
                    }
                }
            }
            $cart = $newcart;
        }
        break;
    case 'update':
    if ($cart) {
        $newcart = '';
        foreach ($_POST as $key=>$value) {
            if (stristr($key,'qty')) {
                $id = str_replace('qty','',$key);
                $items = ($newcart != '') ? explode(',',$newcart) : explode(',',$cart);
                $newcart = '';
                foreach ($items as $item) {
                    if ($id != $item) {
                        if ($newcart != '') {
                            $newcart .= ','.$item;
                        } else {
                            $newcart = $item;
                        }
                    }
                }
                for ($i=1;$i<=$value;$i++) {
                    if ($newcart != '') {
                        $newcart .= ','.$id;
                    } else {
                        $newcart = $id;
                    }
                }
            }
        }
    }
    $cart = $newcart;
    break;
}
$_SESSION['cart'] = $cart;
?>

om til:

<?php
// Include MySQL class
require_once('inc/mysql.class.php');
// Include database connection
require_once('inc/global.inc.php');
// Include functions
require_once('inc/functions.inc.php');
// Start the session
session_start();
// Process actions
$cart = $_SESSION['cart'];
$action = $_GET['action'];
switch ($action) {
    case 'add':
        if ($cart) {
            $cart .= ','.$_GET['id'];
        } else {
            $cart = $_GET['id'];
        }
        break;
    case 'delete':
        if ($cart) {
        $newcart = '';
        foreach ($_POST as $key=>$value) {
            if (stristr($key,'0')) {
                $id = str_replace('0','',$key);
                $items = ($newcart != '') ? explode(',',$newcart) : explode(',',$cart);
                $newcart = '';
                foreach ($items as $item) {
                    if ($id != $item) {
                        if ($newcart != '') {
                            $newcart .= ','.$item;
                        } else {
                            $newcart = $item;
                        }
                    }
                }
                for ($i=1;$i<=$value;$i++) {
                    if ($newcart != '') {
                        $newcart .= ','.$id;
                    } else {
                        $newcart = $id;
                    }
                }
            }
        }
    }
    $cart = $newcart;
        break;
    case 'update':
    if ($cart) {
        $newcart = '';
        foreach ($_POST as $key=>$value) {
            if (stristr($key,'qty')) {
                $id = str_replace('qty','',$key);
                $items = ($newcart != '') ? explode(',',$newcart) : explode(',',$cart);
                $newcart = '';
                foreach ($items as $item) {
                    if ($id != $item) {
                        if ($newcart != '') {
                            $newcart .= ','.$item;
                        } else {
                            $newcart = $item;
                        }
                    }
                }
                for ($i=1;$i<=$value;$i++) {
                    if ($newcart != '') {
                        $newcart .= ','.$id;
                    } else {
                        $newcart = $id;
                    }
                }
            }
        }
    }
    $cart = $newcart;
    break;
}
$_SESSION['cart'] = $cart;
?>

altså skifter qty ud med 0 ... så tømmer den bare hele kurven. Så det må være noget
i den kode med case 'delete': der ikke kører korrekt !?
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