1

我有这个购物车

function modifyCart($action, $id){

$kori = cart();
$exp = explode("|", $kori);

for($i=0;$i<count($exp);$i++){
$pilk = explode("-", $exp[$i]);
if($id == $pilk[0]){
    switch($action){
        case "increase": // lisätään määrää
        break;

        case "decrease": // vähennetään määrää
        break;

        case "remove": // poistetaan
        unset($exp[$i]);
    }
 }
}

$valmis = array_merge($exp, $pilk);

$muuta  = implode("|", $valmis);

$_SESSION["cart"] = $muuta;


}

购物车的存储方式就像productno-qty|productno-qty 我怎样才能使该功能正常工作..感谢您的帮助

4

1 回答 1

1

那是一辆可怕的推车。但是如果你被困在这条轨道上,你想要这个:

function modifyCart($action, $id){

$kori = cart();
$exp = explode("|", $kori);

foreach ($key, $product in $exp) {
    $tmp = explode('-', $product);
    $productNo = $tmp[0];
    $productQty = $tmp[1];

    if ($id == $productNo) {
        if ($action == 'remove') {
            unset($exp[$key]);
            return implode('|', $exp);
        } else if ($action == 'increase') {
            $productQty += 1;
            $exp[$key] = $productNo . '-' $productQty;
            return implode('|', $exp);
        } else if ($action == 'decrease') {
            $productQty -= 1;
            if ($productQty == 0) {
                unset($exp[$key]);
            } else {
                $exp[$key] = $productNo . '-' $productQty;
            }
            return implode('|', $exp);
        } else {
            // throw exception because unrecognized action
        }
    }
    // handle case where named product was not in the cart here.
    return implode('|', $exp);
}
于 2011-09-19T18:16:11.693 回答