商城詳情頁點擊購物按鈕提示加入購物車並且在購物車無刷新增加數量


特效說明:

  1:商城詳情頁點擊購物按鈕提示加入購物車並且在購物車無刷新增加數量

 

 

 

 

 

 

 

 

 

 

 

 

 

2:代碼

    html代碼

   

<a href="javascript:addToCartNew({$goods.goods_id})" name="bi_addToCart" class="u-buy2">加入購物車</a>




 <a href="flow.php" class="btn" style="height:135px; padding-top:5px; color:#fff;" id="collectBox"> <i></i><br/><br/><br/>
  <span style="margin-top:7px;" id="right_cart_show_num">{if $cartall_num}{$cartall_num}{else}0{/if}</span> </a>
  <div class="dropdown" id="J-flow-drop" style="opacity: 1; margin-right: 0px; display:none;"> 
        <div class="empty-tip">
      
      
    </div>
function addToCartNew(goodsId, parentId){

  var goods        = new Object();
  var spec_arr     = new Array();
  var fittings_arr = new Array();
  var number       = 1;
  var formBuy      = document.forms['ECS_FORMBUY'];
  var quick           = 0;

  // 檢查是否有商品規格 
  if (formBuy)
  {
    spec_arr = getSelectedAttributes(formBuy);
    if (formBuy.elements['number'])
    {
      number = formBuy.elements['number'].value;
    }

    quick = 1;
  }

  goods.quick    = quick;
  goods.spec     = spec_arr;

  goods.goods_id = goodsId;
  goods.number   = number;
  var parent   = (typeof(parentId) == "undefined") ? 0 : parseInt(parentId);
  var param="step=add_to_cart&quick="+quick+"&spec="+spec_arr+"&goods_id="+goodsId+"&number="+number+"&parent="+parent;
  var $cart = jQuery.noConflict();
  $cart.ajax({
     type:"post",
     url:"flow.php",
     dataType:"json",
     data:param,
     success: function(data){
        if(window.location.href=="http://www.e1617.com/flow.html"){
            window.location.href="flow.html";
        }else{
            var right_cart_show_num=$("#right_cart_show_num").html();
            $cart("#right_cart_show_num").html(parseInt(right_cart_show_num)+1);
            changerightcart();
             alert(data.fanhui);
            
        }
     }
  })
}





/**
 * 獲得選定的商品屬性
 */
function getSelectedAttributes(formBuy)
{
  var spec_arr = new Array();
  var j = 0;

  for (i = 0; i < formBuy.elements.length; i ++ )
  {
    var prefix = formBuy.elements[i].name.substr(0, 5);

    if (prefix == 'spec_' && (
      ((formBuy.elements[i].type == 'radio' || formBuy.elements[i].type == 'checkbox') && formBuy.elements[i].checked) ||
      formBuy.elements[i].tagName == 'SELECT'))
    {
      spec_arr[j] = formBuy.elements[i].value;
      j++ ;
    }
  }

  return spec_arr;
}



function changerightcart(){
var rightcartparam="act=get_cart_list";
    $.ajax({
        type:"get",
        url:"get_user.php",
        data:rightcartparam,
        dataType:"json",
        success: function(data){
            $(".empty-tip").html(data.fanhui);
            $("#right_cart_show_num").html(data.number);
        }
    });
}


php源碼:

/*------------------------------------------------------ */
//-- 添加商品到購物車
/*------------------------------------------------------ */
if ($_REQUEST['step'] == 'add_to_cart')
{
    $json=array();
    $quick=$_POST['quick'];
    $spec=$_POST['spec'];
    $goods_id=$_POST['goods_id'];
    $number=$_POST['number'];
    $parent=$_POST['parent'];
    /* 檢查:商品數量是否合法 */
    if (!is_numeric($number) || intval($number) <= 0)
    {
       $json['fanhui']=$_LANG['invalid_number'];
       echo json_encode($json);
       exit;
    }
    /* 更新:購物車 */
    else
    {
        //判斷該商品是否已經添加到購物車過
        $cartnum=$db->getRow("select count(*) as num from ".$GLOBALS['ecs']->table('cart')." where session_id='".SESS_ID."' and goods_id='$goods_id' and goods_attr_id='$spec'");
        
        if($cartnum['num']==0){//沒有購買過該產品則插入數據庫
            
            //當屬性不為空時查詢屬性價格
            if($spec!=""){
                $spearr=explode(",",$spec);
                foreach($spearr as $key=>$value){
                    $speprice=$db->getRow("select attr_price from ".$ecs->table('goods_attr')." where goods_attr_id='".$value."'");
                    $attrprice=(int)$speprice['attr_price'];
                }
            }
            
            //查詢商品信息
            $goodsrow=$db->getRow("select goods_sn,goods_name,market_price,shop_price,supplier_id,is_promote,promote_start_date,promote_end_date,promote_price from ".$ecs->table('goods')." where goods_id ='".$goods_id."'");
            if($goodsrow['is_promote']==1 & $goodsrow['promote_start_date']<=time() & $goodsrow['promote_end_date']>=time()){//判斷該商品是否促銷
                //計算商品價格
                if($attrprice!=""){
                    $goods_price=$attrprice;
                }else{
                    $goods_price=$goodsrow['promote_price'];
                }

            }else{
                //計算商品價格
                if($attrprice!=""){
                    $goods_price=$attrprice;
                }else{
                    $goods_price=$goodsrow['shop_price'];
                }
            }
            //插入數據庫
            $db->query("insert into ".$ecs->table('cart')." set user_id='".$_SESSION['user_id']."',session_id='".SESS_ID."',goods_id='$goods_id',goods_sn='".$goodsrow['goods_sn']."',goods_name='".$goodsrow['goods_name']."',goods_price='$goods_price',goods_number='$number',is_real='1',goods_attr_id='$spec',add_time='".time()."',suppliers_id='".$goodsrow['supplier_id']."'");
            
        }else{//改變該產品的數量
            $db->query("update ".$ecs->table('cart')." set goods_number=goods_number+1 where session_id='".SESS_ID."' and goods_id='$goods_id' and goods_attr_id='$spec'");
        }
        $json['fanhui']="加入購物車成功";
         echo json_encode($json);
    }
    
    exit;
}
    if($act =='get_cart_list'){
        $json=array();
        $num=$GLOBALS['db']->getRow("select SUM(goods_number) AS number from ".$GLOBALS['ecs']->table('cart')." where is_cart=0 and session_id='".SESS_ID."'");
    $json['number']=$num['number'];
    
        $all=$GLOBALS['db']->getAll("select * from ".$GLOBALS['ecs']->table('cart')." where is_cart=0 and session_id='".SESS_ID."'");
        if(!$all){
            $json['fanhui']="<p><a href='flow.php' rel='nofollow'>您的購物車里什么都沒有哦,再去看看吧</a></p>";
            echo json_encode($json);
            exit;
        }else{
            foreach($all as $row){
                $cat = $GLOBALS['db']->getRow('SELECT url_defined FROM ' . $GLOBALS['ecs']->table('category') ." as c WHERE c.cat_id = '".$row['cat_id']."'");
        $row['url']          = build_uri('goods', array('gid' => $row['goods_id'],'gcid' => $row['cat_id']), $cat['url_defined']);
            $json['fanhui'].="<a href='http://www.e1617.com/".$row['url']."'>".$row['goods_name']."</a><br/>";
            }
            echo json_encode($json);
            exit;
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM