首页 > 作文

购物车结算add

更新时间:2023-04-07 05:30:02 阅读: 评论:0

<?phpssion_start();include_once("db.class.php");     //接受并解析前端传过来的高中化学必修一目录json,转换成数组。    $goods_list =$_post['order'];    $goods_list= json_decode($goods_list, true);                //1.获取ssion信息        $arr = $_ssion['gwc'];        //获得订单数组        $item_list = $goods_list['order'];        //一维实现,每次先清空订单。        $order = '';                //把商品信息存到订单,并且把他们从购物车中删除        foreach($item_list as $k=> $item){                            //把商品信息存到订单                $order[$k] = $arr[$k];                //把商品信息从购物车中删除                unt($arr[$k]);                        }        //更新购车的商品信息        if(!empty($arr)){            $_ssion['gwc'] = $arr;        }el{            $_ssion['gwc'] = '';        }                    //最后将订单信息存到ssion            $_ssion['order'] = $order;                        // var_dump($_ssion);        // 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 rializeobj=$('#form1').rializejson();var rializestr=json.stringify(rializeobj);console.log(rializestr);$.ajax({      cache: fal,      type: "post",      url : "add_to_order.php",      traditional:true,        data: {order : rializestr}, //注意这里的写法,键为order      success: function(msg){        if(msg=="ok"){                    alert("下单成功");           // location.reload();           //window.location.href='order.php';        }el{            alert(msg);            alert("下单失败");        }      }    });

这是表单中的一部分,展示如何把选中的商品传过去。关键在于checbox键值设置:在foreache循环中,所以键值得有变量混合进去。(仅展示代码,复制有样式问题)

<!-- 1.遍历店铺,查看有多少商品并遍历。-->            <div class="shop_info">                <div class="all_check">                    <!--店英语四级总分多少铺全选-->                    <input type='checkbox' id='shop_a' class='shopchoice'>                                                <label for='shop_a' cl函件结尾敬语ass='shop'></label>                                    </div>                <div class="shop_name">                    店铺:<a href="javascript:;">蜜食专家</a>                </div>            </div>            <?php            ssion_start();            include_once("db.class.php");                        if(ist($_ssion['gwc'])&&!empty($_ssion['gwc'])){            $arr2 = $_ssion['gwc'];            foreach($arr2 as $k1=> $arr){                $goods_id = $arr['goods_id'];                $sql="lect * from tb_goods where id=$goods_id";                $goods = $dao->getrow($sql);                $goods_num = $arr['num'];                            $sum = $goods['price']*$goods_num;                            ?>            <div class="order_content">            <!-- 最低应该在这里开始遍历,有分割线 -->                                         <!-- 利用上面的php变量,遍历一个商品或sku -->                <ul class="order_lists">                    <li class="list_chk">                    <!-- 每个复选框的值存她的商品id或sku_id -->                    <?php echo "<input type='checkbox' id='checkbox_$goods_id' name='order[$goods_id]' value='$goods_id' class='son_check'>"; ?>                        <!-- 打勾对应文本框的id -->                        <?php echo "<label for='checkbox_$goods_id'></label>"; ?>                    </li>                    <li class="list_con">                        <div class="list_img"><a href="javascript:;">                        <?php echo "<img src='./images/$goods[img]' alt=''>";?>                        </a></div>                        <div class="list_text"><a href="javascript:;"><?php echo "$goods[goodsname]"; ?></a></div>                    </li>                    <li class="list_info">                        <p>规环境科学论文格:默认</p>                                            </li>                    <li class="list_price">                        <p class="price"><?php echo '¥'."$goods[price]"; ?></p>                                                <?php echo "<input type='hidden'  value='$goods[price]'>"; ?>                    </li>                    <li class="list_amount">                        <div class="amount_box">                        <!-- 对商品的数量进行加减 -->                        <?php echo "<a href='change_number.php?goods_id=$goods_id&choice=jian' class='reduce resty'>-</a> "; ?>                            <!-- 数量,要从ssion或数据库中查出来 -->                            <?php echo "<input type='text' value='$goods_num' class='sum'>"; ?>                                                        <?php echo "<a href='change_number.php?goods_id=$goods_id&choice=jia' class='plus'>+</a> "; ?>                            <?php echo "<秋景作文input type='hidden'  value='$goods[number]'>"; ?>                                                    </div>                    </li>                    <li class="list_sum">                        <p class="sum_price"><?php echo '¥'."$sum"; ?></p>                    </li>                    <li class="list_op">                        <p class="del">                        <?php echo "<a href='delete_goods.php?goods_id=$goods_id' class='delbtn'>删除宝贝</a> "; ?></p>                    </li>                </ul>                                    </div>            <?php }}                    el{                        echo "<h1 style='margin-top:150px;text-align:center;font-size: 39px;color:#c18e2cdb;'>兄                        dei,你的购物车只剩下尊严了!!!</h1>";                    }                 ?>

注意事项

可以给商品的checkbox类型添加name属性是因为他有lected属性,而其他像hidden类型的不能给它name属性,否则也会提交到后台。要保持提交过去的数据不能有冗余,需要遍历。

而且添加到订单也只需商品id就行,订单的商品数量可以在根据key在gwc中获得。具体看add_to_order.php.

本文发布于:2023-04-07 05:30:00,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/09b67ffe6003e70f13b640489a3add04.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:购物车结算add.doc

本文 PDF 下载地址:购物车结算add.pdf

标签:订单   遍历   商品   商品信息
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图