dsy19890123 2011-09-19 17:21
浏览 16
已采纳

购物车问题

I have this shopping cart

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;


}

Cart is stored like productno-qty|productno-qty How could i get the function to work.. thank for helping

  • 写回答

1条回答 默认 最新

  • dougudu3564 2011-09-19 18:16
    关注

    That's a terrible cart. But if you are stuck on this track, you want this:

    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);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料