thinkphp——前台(提交订单)并插入相关信息到数据库
来源:互联网 发布:linux 串口调试工具 编辑:程序博客网 时间:2024/05/21 19:29
1.购物车列表页:
2.订单主页显示:
3.然后订单主页就是一些表单,如下:
<strong><span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="Generator" content="YONGDA v1.0" /><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="Keywords" content="" /><meta name="Description" content="" /><title>购物流程_YONGDA商城 - Powered by YongDa</title><link href="{$smarty.const.CSS_URL}style.css" rel="stylesheet" type="text/css" /><style type="text/css">{literal}table {border: 1px solid #dddddd;border-collapse: collapse;width: 99%;margin: auto;}td {border: 1px solid #dddddd;}#consignee_addr {width: 450px;}{/literal}</style></head><body><div class="block clearfix" style="position: relative; height: 98px;"> <a href="#" name="top"><img class="logo" alt="" src="{$smarty.const.IMG_URL}logo.gif" /></a> <div id="topNav" class="clearfix"> <div style="float: left;"> <font id="ECS_MEMBERZONE"> <div id="append_parent"></div> 欢迎光临本店 {if $smarty.session.username} 欢迎您:{$smarty.session.username} <a href="{$smarty.const.__MODULE__}/User/logout" style="color:red;" onclick="if (confirm('确定要退出登录吗?')) return true; else return false;">退出登录</a> {else} <a href="{$smarty.const.__MODULE__}/User/login"> 登录</a> <a href="{$smarty.const.__MODULE__}/User/register">注册</a> {/if} </font> </div> <div style="float: right;"> <a href="#">查看购物车</a> | <a href="#">选购中心</a> | <a href="#">标签云</a> | <a href="#">报价单</a> </div> </div> <div id="mainNav" class="clearfix"> <ul> <li> <a href="{$smarty.const.__MODULE__}/Index/index" class="cur">首页<span></span></a></li> {foreach $pcinfo as $k=>$v} <li><a href="{$smarty.const.__MODULE__}/Goods/showlist/category_id/{$v.category_id}" class="cur">{$v.category_name}<span></span> </a> </li> {/foreach} <li> <a href="#" class="cur">留言板<span></span></a> </li> </ul> </div></div><div class="header_bg"> <div style="float: left; font-size: 14px; color:white; padding-left: 15px;"> </div> <form id="searchForm" method="get" action="{$smarty.const.__MODULE__}/Goods/search"> <input name="keywords" id="keyword" type="text" /> <input name="imageField" value=" " class="go" style="cursor: pointer; background: url('{$smarty.const.IMG_URL}sousuo.gif') no-repeat scroll 0% 0% transparent; width: 39px; height: 20px; border: medium none; float: left; margin-right: 15px; vertical-align: middle;" type="submit" /> </form></div><div class="blank5"></div><div class="header_bg_b">{*购物车总数和总价格*} {foreach $cart_data as $k=>$v} {foreach $ginfo as $kk=>$vv} {if $vv.goods_id==$v.goods_id} {$num=$num+{$vv.goods_price*$v.goods_num}} {$number=$number+{$v.goods_num}} {/if} {/foreach} {/foreach} <div class="f_r" style="padding-right: 10px;"> <img style="vertical-align: middle;" src="{$smarty.const.IMG_URL}biao3.gif" /> <span class="cart" id="ECS_CARTINFO"> <a href="{$smarty.const.__MODULE__}/Cart/showlist" title="查看购物车">您的购物车中有 {$number} 件商品,总计金额 ¥{$num}元。</a></span> <a href="{$smarty.const.__MODULE__}/Cart/showlist"><img style="vertical-align: middle;" src="{$smarty.const.IMG_URL}biao7.gif" /></a> </div></div><div class="block box"> <div class="blank"></div> <div id="ur_here"> 当前位置: <a href="#">首页</a> <code>></code> 购物流程 </div></div><div class="blank"></div><div class="blank"></div><div class="block"> <form action="{$smarty.const.__CONTROLLER__}/cartToOrder" method="post" name="theForm" id="theForm" > <div class="flowBox"> <h6><span>商品列表</span><a href="#" class="f6">修改</a></h6> <table cellpadding="5" cellspacing="1" width="99%"> <tbody> <tr> <th>商品名称</th> <th>本店价</th> <th>购买数量</th> <th>小计</th> </tr> {foreach $cart_data as $k=>$v} <tr> {foreach $ginfo as $kk=>$vv} {if $vv.goods_id==$v.goods_id} <td><a href="#" target="_blank" class="f6"> <input type="hidden" name="sub_goods_id[]" value="{$vv.goods_id}" /> {$vv.goods_name}</a></td> <td align="right"> ¥{$vv.goods_price}元</td> <td align="right"> <input type="hidden" name="sub_goods_buy_number[]" value="{$v.goods_num}" />{$v.goods_num}</td> <td align="right"> ¥{$vv.goods_price*$v.goods_num}元</td> {/if} {/foreach} </tr> {/foreach} <tr> <td colspan="7"> 购物金额小计 ¥{$num}元</td> </tr> </tbody> </table> </div> <div class="blank"></div> <div class="flowBox"> <h6><span>收货人信息</span><a href="#" class="f6">修改</a></h6> <table cellpadding="5" cellspacing="1" width="99%"> <tbody> <tr> <td>收货人姓名:</td> <td><input type="text" name="consignee_name" /></td> <td>电子邮件地址:</td> <td><input type="text" name="consignee_email" /></td> </tr> <tr> <td>省份:</td> <td><input type="text" name="consignee_province" /></td> <td>城市:</td> <td><input type="text" name="consignee_city" /></td> <td>地区:</td> <td><input type="text" name="consignee_district" /></td> </tr> <tr> <td>详细地址:</td> <td colspan="2"><textarea name="consignee_address" rows="1" cols="30"></textarea></td> <td>邮政编码:</td> <td><input type="text" name="consignee_zipcode" /></td> </tr> <tr> <td>电话:</td> <td><input type="text" name="consignee_tel" /></td> <td>手机:</td> <td><input type="text" name="consignee_mobile" /></td> </tr> <tr> <td>最佳送货时间:</td> <td><input type="text" name="consignee_best_time" /></td> </tr> </tbody> </table> </div> <div class="blank"></div> <div class="flowBox"> <h6><span>配送方式</span></h6> <script> /* window.onload=function(){var radio=document.getElementsByName("shipping");for(var i=0;i<radio.length;i++){if(radio[i].checked==true){value=radio[i].value;document.write(value);}}}*/ </script> <table id="shippingTable" cellpadding="5" cellspacing="1" width="99%"> <tbody> <tr> <th width="5%"> </th> <th width="25%">名称</th> <th width="15%">费用</th> </tr> <tr> <td valign="top"><input name="order_ship_name" value="5" type="radio" checked="checked" /></td> <td valign="top"><strong>申通快递</strong></td> <td align="right" valign="top">¥15.00元</td> </tr> <tr> <td valign="top"><input name="order_ship_name" value="3" type="radio" /></td> <td valign="top"><strong>城际快递</strong></td> <td align="right" valign="top">¥10.00元</td> </tr> <tr> <td valign="top"><input name="order_ship_name" value="6" type="radio" /></td> <td valign="top"><strong>邮局平邮</strong></td> <td align="right" valign="top">¥3.50元</td> </tr> </tbody> </table> </div> <div class="blank"></div> <div class="flowBox"> <h6><span>支付方式</span></h6> <table id="paymentTable" cellpadding="5" cellspacing="1" width="99%"> <tbody> <tr> <th width="5%"> </th> <th width="20%">名称</th> <th width="15%">手续费</th> </tr> <tr> <td valign="top"><input name="order_pay_name" value="1" iscod="0" type="radio" /></td> <td valign="top"><strong>支付宝支付</strong></td> <td align="right" valign="top">¥0.00元</td> </tr> <tr> <td valign="top"><input name="order_pay_name" value="2" iscod="0" type="radio" checked="checked"/></td> <td valign="top"><strong>银行汇款/转帐</strong></td> <td align="right" valign="top">¥0.00元</td> </tr> <tr> <td valign="top"><input name="order_pay_name" value="3" iscod="1" disabled="true" type="radio" /></td> <td valign="top"><strong>货到付款</strong></td> <td align="right" valign="top"><span id="ECS_CODFEE">¥0.00元</span></td> </tr> </tbody> </table> </div> <div class="blank"></div> <div class="blank"></div> <div class="flowBox"> <h6><span>费用总计</span></h6> <div id="ECS_ORDERTOTAL"> <table cellpadding="5" cellspacing="1" width="99%"> <tbody> <tr> <td align="right"> 商品总价: <font class="f4_b">¥{$num}元</font></td> </tr> <tr> <td align="right"> 应付款金额: <font class="f4_b">¥{$num}元 <input type="hidden" name="order_amount" value="{$num}" /> {*订单创建时间*}<input type="hidden" name="order_create_time" value="{$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'}" /> </font></td> </tr> </tbody> </table> </div> <div style="margin: 8px auto;"> <input type="submit" value='提交订单' type="image" /> <input name="step" value="done" type="hidden" /> </div> </div> </form></div><div class="blank"></div><div class="block"> <a href="#" target="_blank" title="YONGDA商城"><img alt="YONGDA商城" src="{$smarty.const.IMG_URL}di.jpg" /></a> <div class="blank"></div></div><div class="blank"></div><div id="bottomNav" class="box block"> <div class="box_1"> <div class="links clearfix"> <a href="#" target="_blank" title="YONGDA商城">Powered by <strong><span style="color: rgb(51, 102, 255);">YongDa</span></strong></a> [<a href="#" target="_blank" title="">yongda商城</a>] </div> </div></div><div class="blank"></div><div id="bottomNav" class="box block"> <div class="bNavList clearfix"> <a href="#">免责条款</a> | <a href="#">隐私保护</a> | <a href="#">咨询热点</a> | <a href="#">联系我们</a> | <a href="#">公司简介</a> | <a href="#">批发方案</a> | <a href="#">配送方式</a> </div></div><div id="footer"> <div class="text"> © 2005-2012 YONGDA 版权所有,并保留所有权利。<br /> </div></div></body></html></span></strong>
4.订单提交后:控制器里如下:
<strong><span style="font-size:18px;">//购物车结算(提交订单)function cartToOrder(){//接收index传过来的值$sub_goods_buy_number=I('sub_goods_buy_number',0);//商品数量$consignee_name=I('consignee_name',0);//收货人姓名$consignee_email=I('consignee_email',0);//电子邮件地址$consignee_province=I('consignee_province',0);//省份$consignee_city=I('consignee_city',0);//城市$consignee_district=I('consignee_district',0);//地区$consignee_address=I('consignee_address',0);//详细地址$consignee_zipcode=I('consignee_zipcode',0);//邮政编码$consignee_tel=I('consignee_tel',0);//电话$consignee_mobile=I('consignee_mobile',0);//手机$consignee_best_time=I('consignee_best_time',0);//最佳送货时间$order_ship_name=I('order_ship_name',0);//配送方式名称$order_pay_name=I('order_pay_name',0);//支付方式$order_amount=I('order_amount',0);//订单总金额$order_create_time=I('order_create_time',0);//订单创建时间$uid=session("user_id");if(!$uid){echo "<script>alert('请先登录');location.href='../User/login'</script>";//$this->ajaxReturn(array("status"=>0,"info"=>"请先登录"));}$cart=unserialize(D('Cart')->where("cart_uid='{$uid}'")->getField("cart_info"));$id_arr=array();foreach($cart as $k=>$v){$id_arr[]=$v['goods_id'];}$ids=implode(',',$id_arr);//把商品id由数组变为逗号隔开$goods=D('Goods')->where("goods_id in ($ids)")->select();$order_data=array();foreach($goods as $k=>$v){$order_data['order_sn']=date("Ymdhis").'_'.$v['goods_id'];$order_data['order_uid']=$uid;$order_data['order_uname']=$consignee_email;$order_data['order_status']=1;$order_data['order_ship_name']=$order_ship_name;$order_data['order_pay_name']=$order_pay_name;$order_data['order_amount']=$order_amount;$order_data['order_create_time']=$order_create_time;}$oinfo=D('Order')->add($order_data);$order=D('Order')->field('order_sn')->find($oinfo); $order_sn=$order['order_sn'];if($oinfo){foreach($goods as $k=>$v){$order_goods_data=array();$order_goods_data['sub_pid']=$oinfo;$order_goods_data['sub_order_sn']=$order_sn;$order_goods_data['sub_goods_id']=$v['goods_id'];$order_goods_data['sub_goods_name']=$v['goods_name'];$order_goods_data['sub_goods_price']=$v['goods_price'];$order_goods_data['sub_goods_buy_number']=$sub_goods_buy_number[$k];$order_goods_data['sub_goods_buy_sum']=$sub_goods_buy_number[$k]*$v['goods_price'];$sinfo=D('Order_sub')->add($order_goods_data);}if($sinfo){foreach($goods as $k=>$v){$user_consignee_data=array();$user_consignee_data['consignee_u_id']=$uid;$user_consignee_data['consignee_name']=$consignee_name;$user_consignee_data['consignee_email']=$consignee_email;$user_consignee_data['consignee_province']=$consignee_province;$user_consignee_data['consignee_city']=$consignee_city;$user_consignee_data['consignee_district']=$consignee_district;$user_consignee_data['consignee_address']=$consignee_address;$user_consignee_data['consignee_zipcode']=$consignee_zipcode;$user_consignee_data['consignee_tel']=$consignee_tel;$user_consignee_data['consignee_mobile']=$consignee_mobile;$user_consignee_data['consignee_best_time']=$consignee_best_time;}$is_ok=D('User_consignee')->add($user_consignee_data);if($is_ok){$rst=D('Cart')->where("cart_uid='{$uid}'")->delete();//订单提交后删除用户购物车if($rst)echo "<script>alert('订单提交成功');location.href='../Cart/showlist'</script>";}}}//show_bug($ginfo);}</span></strong>
1 0
- thinkphp——前台(提交订单)并插入相关信息到数据库
- ThinkPhp插入数据到数据库
- Java大牛养成记(6)——将订单提交到数据库出错(Could not insert)
- PHP——数据库(插入信息)
- 生产订单相关信息
- 如何一步一步用DDD设计一个电商网站(十二)—— 提交并生成订单
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件内容信息以月为单位)
- 从页面插入信息到数据库(简单实例)
- 提交注册信息到数据库中
- Thinkphp新增字段无法插入到数据库问题
- Thinkphp处理ueditor插入转义字符到数据库的方法
- (一)在插入数据前,对数据库中的数据进行检查,并返回插入信息
- 把数据保存到数据库附加表 `dede_addonarticle` 时出错,请把相关信息提交给DedeCms
- dedecms提示 把数据保存到数据库主表 '#@__archives' 时出错,请把相关信息提交给 dedecms官方
- 把数据保存到数据库附加表 `dede_addonarticle` 时出错,请把相关信息提交给DedeCms官方
- 把数据保存到数据库附加表 `dede_addonarticle` 时出错,请把相关信息提交给DedeCms官方
- java JDBC编程——从属性文件读取信息,并创建到数据库的连接
- 获取数据库中订单信息
- /* 只支持IE6、7、8 */ @media \0screen\,screen\9 {...}
- 翻译随笔(1)——职场成功不仅需要技术高超
- 获取本年的周六周日
- 简单Dream-虚拟机加载linux加载光盘到mnt报错:mount: you must specify the filesystem type
- Android studio 导入project
- thinkphp——前台(提交订单)并插入相关信息到数据库
- Mac电脑AndroidStudio使用SVN进行版本控制
- 三种Shell脚本编程中避免SFTP输入密码的方法
- Android多进程间采用AIDL方式进行通信简单DEMO
- Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /***
- java泛型简介
- Medial Queries的另一用法——服务于IE
- window64下redis的安装与测试
- 面向对象设计的五大原则