天天看點

php 購物車的結算,購物車結算add_to_order.php,兄

購物車結算add_to_order.php,<?phpsession_start ();include_once("DB.class.php");//接受并解析前端傳過來的json,轉換成數組。

$goods_list =$_POST['order'];$goods_list= json_decode($goods_list, true);//1.擷取session資訊

$arr = $_SESSION['gwc'];//獲得訂單數組

$item_list = $goods_list['order'];//一維實作,每次先清空訂單。

$order = '';//把商品資訊存到訂單,并且把他們從購物車中删除

foreach($item_list as $k=> $item){//把商品資訊存到訂單

$order[$k] = $arr[$k];//把商品資訊從購物車中删除

unset($arr[$k]);

}//更新購車的商品資訊

if(!empty($arr)){$_SESSION['gwc'] = $arr;

}else{$_SESSION['gwc'] = '';

}//最後将訂單資訊存到session

$_SESSION['order'] = $order;//var_dump($_SESSION);

// die();

echo "OK";exit;?>

業務邏輯

從購物車中點選結算,即是把商品資訊從購物車中轉移到訂單中。

技術點:接受的方式是json。要先在前台以json的形式傳過來,這裡再把它解析為數組,再運用。

購物車頁面的結算按鈕注冊點選事件(需要引入jquery檔案)

$('#jiesuan').click( function(){//間接設定訂單金額

var j = $('.total_text').text();//去除¥符号

var order_toal = j.substring(1);//将标簽的值賦給input傳過去

$("#order_total").val(order_toal);//用插件将表單生成json,在ajax發送過去背景

var serializeObj=$('#form1').serializeJSON();

var serializeStr=JSON.stringify(serializeObj);

console.log(serializeStr);

$.ajax({

cache: false,type: "POST",url: "add_to_order.php",traditional:true,data: {order : serializeStr}, //注意這裡的寫法,鍵為order

success: function(msg){if(msg=="OK"){

alert("下單成功");//location.reload();

//window.location.href='order.php';}else{

alert(msg);

alert("下單失敗");

}

}

});

這是表單中的一部分,展示如何把選中的商品傳過去。關鍵在于checbox鍵值設定:在foreache循環中,是以鍵值得有變量混合進去。(僅展示代碼,複制有樣式問題)

店鋪: 蜜食專家

<?phpsession_start ();include_once("DB.class.php");if(isset($_SESSION['gwc'])&&!empty($_SESSION['gwc'])){$arr2 = $_SESSION['gwc'];foreach($arr2 as $k1=> $arr){$goods_id = $arr['goods_id'];$sql="select * from tb_goods where id=$goods_id";$goods = $dao->getRow($sql);$goods_num = $arr['num'];$sum = $goods['price']*$goods_num;?>

  • <?php echo ""; ?>

    <?php echo ""; ?>

  • <?php echo "
    php 購物車的結算,購物車結算add_to_order.php,兄

    ";?>

    <?php echo "$goods[goodsname]"; ?>

  • 規格:預設
  • <?php echo ""; ?>
  • <?php echo "- "; ?>

    <?php echo ""; ?>

    <?php echo "+ "; ?>

    <?php echo ""; ?>

  • <?php echo "删除寶貝 "; ?>

<?php }}else{echo "

dei,你的購物車隻剩下尊嚴了!!!";

}?>

php 購物車的結算,購物車結算add_to_order.php,兄

注意事項

可以給商品的checkbox類型添加name屬性是因為他有selected屬性,而其他像hidden類型的不能給它name屬性,否則也會送出到背景。要保持送出過去的資料不能有備援,需要周遊。

而且添加到訂單也隻需商品id就行,訂單的商品數量可以在根據key在gwc中獲得。具體看add_to_order.php.

http://www.dengb.com/PHPjc/1355315.htmlwww.dengb.comtruehttp://www.dengb.com/PHPjc/1355315.htmlTechArticle購物車結算add_to_order.php, ? php session_start (); include_once ("DB.class.php" ); // 接受并解析前端傳過來的json,轉換成數組。 $goods_list = $_POST ['orde...