当前位置:   article > 正文

thinkphp——前台(提交订单)并插入相关信息到数据库_thinkphp怎么把用js计算的价格提交到数据库

thinkphp怎么把用js计算的价格提交到数据库

1.购物车列表页:

2.订单主页显示:

3.然后订单主页就是一些表单,如下:

  1. <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">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta name="Generator" content="YONGDA v1.0" />
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  6. <meta name="Keywords" content="" />
  7. <meta name="Description" content="" />
  8. <title>购物流程_YONGDA商城 - Powered by YongDa</title>
  9. <link href="{$smarty.const.CSS_URL}style.css" rel="stylesheet" type="text/css" />
  10. <style type="text/css">
  11. {
  12. literal
  13. }
  14. table {
  15. border: 1px solid #dddddd;
  16. border-collapse: collapse;
  17. width: 99%;
  18. margin: auto;
  19. }
  20. td {
  21. border: 1px solid #dddddd;
  22. }
  23. #consignee_addr {
  24. width: 450px;
  25. }
  26. {
  27. /literal
  28. }
  29. </style>
  30. </head>
  31. <body>
  32. <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>
  33. <div id="topNav" class="clearfix">
  34. <div style="float: left;"> <font id="ECS_MEMBERZONE">
  35. <div id="append_parent"></div>
  36. 欢迎光临本店 
  37. {if $smarty.session.username}
  38. 欢迎您:{$smarty.session.username} <a href="{$smarty.const.__MODULE__}/User/logout" style="color:red;" οnclick="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>
  39. <div style="float: right;"> <a href="#">查看购物车</a> | <a href="#">选购中心</a> | <a href="#">标签云</a> | <a href="#">报价单</a> </div>
  40. </div>
  41. <div id="mainNav" class="clearfix">
  42. <ul>
  43. <li> <a href="{$smarty.const.__MODULE__}/Index/index" class="cur">首页<span></span></a></li>
  44. {foreach $pcinfo as $k=>$v}
  45. <li><a href="{$smarty.const.__MODULE__}/Goods/showlist/category_id/{$v.category_id}" class="cur">{$v.category_name}<span></span> </a> </li>
  46. {/foreach}
  47. <li> <a href="#" class="cur">留言板<span></span></a> </li>
  48. </ul>
  49. </div>
  50. </div>
  51. <div class="header_bg">
  52. <div style="float: left; font-size: 14px; color:white; padding-left: 15px;"> </div>
  53. <form id="searchForm" method="get" action="{$smarty.const.__MODULE__}/Goods/search">
  54. <input name="keywords" id="keyword" type="text" />
  55. <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" />
  56. </form>
  57. </div>
  58. <div class="blank5"></div>
  59. <div class="header_bg_b">
  60. {*购物车总数和总价格*}
  61. {foreach $cart_data as $k=>$v}
  62. {foreach $ginfo as $kk=>$vv}
  63. {if $vv.goods_id==$v.goods_id}
  64. {$num=$num+{$vv.goods_price*$v.goods_num}}
  65. {$number=$number+{$v.goods_num}}
  66. {/if}
  67. {/foreach}
  68. {/foreach}
  69. <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>
  70. </div>
  71. <div class="block box">
  72. <div class="blank"></div>
  73. <div id="ur_here"> 当前位置: <a href="#">首页</a> <code>></code> 购物流程 </div>
  74. </div>
  75. <div class="blank"></div>
  76. <div class="blank"></div>
  77. <div class="block">
  78. <form action="{$smarty.const.__CONTROLLER__}/cartToOrder" method="post" name="theForm" id="theForm" >
  79. <div class="flowBox">
  80. <h6><span>商品列表</span><a href="#" class="f6">修改</a></h6>
  81. <table cellpadding="5" cellspacing="1" width="99%">
  82. <tbody>
  83. <tr>
  84. <th>商品名称</th>
  85. <th>本店价</th>
  86. <th>购买数量</th>
  87. <th>小计</th>
  88. </tr>
  89. {foreach $cart_data as $k=>$v}
  90. <tr>
  91. {foreach $ginfo as $kk=>$vv}
  92. {if $vv.goods_id==$v.goods_id}
  93. <td><a href="#" target="_blank" class="f6">
  94. <input type="hidden" name="sub_goods_id[]" value="{$vv.goods_id}" />
  95. {$vv.goods_name}</a></td>
  96. <td align="right">
  97. ¥{$vv.goods_price}元</td>
  98. <td align="right">
  99. <input type="hidden" name="sub_goods_buy_number[]" value="{$v.goods_num}" />{$v.goods_num}</td>
  100. <td align="right">
  101. ¥{$vv.goods_price*$v.goods_num}元</td>
  102. {/if}
  103. {/foreach}
  104. </tr>
  105. {/foreach}
  106. <tr>
  107. <td colspan="7"> 购物金额小计 ¥{$num}元</td>
  108. </tr>
  109. </tbody>
  110. </table>
  111. </div>
  112. <div class="blank"></div>
  113. <div class="flowBox">
  114. <h6><span>收货人信息</span><a href="#" class="f6">修改</a></h6>
  115. <table cellpadding="5" cellspacing="1" width="99%">
  116. <tbody>
  117. <tr>
  118. <td>收货人姓名:</td>
  119. <td><input type="text" name="consignee_name" /></td>
  120. <td>电子邮件地址:</td>
  121. <td><input type="text" name="consignee_email" /></td>
  122. </tr>
  123. <tr>
  124. <td>省份:</td>
  125. <td><input type="text" name="consignee_province" /></td>
  126. <td>城市:</td>
  127. <td><input type="text" name="consignee_city" /></td>
  128. <td>地区:</td>
  129. <td><input type="text" name="consignee_district" /></td>
  130. </tr>
  131. <tr>
  132. <td>详细地址:</td>
  133. <td colspan="2"><textarea name="consignee_address" rows="1" cols="30"></textarea></td>
  134. <td>邮政编码:</td>
  135. <td><input type="text" name="consignee_zipcode" /></td>
  136. </tr>
  137. <tr>
  138. <td>电话:</td>
  139. <td><input type="text" name="consignee_tel" /></td>
  140. <td>手机:</td>
  141. <td><input type="text" name="consignee_mobile" /></td>
  142. </tr>
  143. <tr>
  144. <td>最佳送货时间:</td>
  145. <td><input type="text" name="consignee_best_time" /></td>
  146. </tr>
  147. </tbody>
  148. </table>
  149. </div>
  150. <div class="blank"></div>
  151. <div class="flowBox">
  152. <h6><span>配送方式</span></h6>
  153. <script>
  154. /* window.οnlοad=function(){
  155. var radio=document.getElementsByName("shipping");
  156. for(var i=0;i<radio.length;i++){
  157. if(radio[i].checked==true){
  158. value=radio[i].value;
  159. document.write(value);
  160. }
  161. }
  162. }*/
  163. </script>
  164. <table id="shippingTable" cellpadding="5" cellspacing="1" width="99%">
  165. <tbody>
  166. <tr>
  167. <th width="5%"> </th>
  168. <th width="25%">名称</th>
  169. <th width="15%">费用</th>
  170. </tr>
  171. <tr>
  172. <td valign="top"><input name="order_ship_name" value="5" type="radio" checked="checked" /></td>
  173. <td valign="top"><strong>申通快递</strong></td>
  174. <td align="right" valign="top">¥15.00元</td>
  175. </tr>
  176. <tr>
  177. <td valign="top"><input name="order_ship_name" value="3" type="radio" /></td>
  178. <td valign="top"><strong>城际快递</strong></td>
  179. <td align="right" valign="top">¥10.00元</td>
  180. </tr>
  181. <tr>
  182. <td valign="top"><input name="order_ship_name" value="6" type="radio" /></td>
  183. <td valign="top"><strong>邮局平邮</strong></td>
  184. <td align="right" valign="top">¥3.50元</td>
  185. </tr>
  186. </tbody>
  187. </table>
  188. </div>
  189. <div class="blank"></div>
  190. <div class="flowBox">
  191. <h6><span>支付方式</span></h6>
  192. <table id="paymentTable" cellpadding="5" cellspacing="1" width="99%">
  193. <tbody>
  194. <tr>
  195. <th width="5%"> </th>
  196. <th width="20%">名称</th>
  197. <th width="15%">手续费</th>
  198. </tr>
  199. <tr>
  200. <td valign="top"><input name="order_pay_name" value="1" iscod="0" type="radio" /></td>
  201. <td valign="top"><strong>支付宝支付</strong></td>
  202. <td align="right" valign="top">¥0.00元</td>
  203. </tr>
  204. <tr>
  205. <td valign="top"><input name="order_pay_name" value="2" iscod="0" type="radio" checked="checked"/></td>
  206. <td valign="top"><strong>银行汇款/转帐</strong></td>
  207. <td align="right" valign="top">¥0.00元</td>
  208. </tr>
  209. <tr>
  210. <td valign="top"><input name="order_pay_name" value="3" iscod="1" disabled="true" type="radio" /></td>
  211. <td valign="top"><strong>货到付款</strong></td>
  212. <td align="right" valign="top"><span id="ECS_CODFEE">¥0.00元</span></td>
  213. </tr>
  214. </tbody>
  215. </table>
  216. </div>
  217. <div class="blank"></div>
  218. <div class="blank"></div>
  219. <div class="flowBox">
  220. <h6><span>费用总计</span></h6>
  221. <div id="ECS_ORDERTOTAL">
  222. <table cellpadding="5" cellspacing="1" width="99%">
  223. <tbody>
  224. <tr>
  225. <td align="right"> 商品总价: <font class="f4_b">¥{$num}元</font></td>
  226. </tr>
  227. <tr>
  228. <td align="right"> 应付款金额: <font class="f4_b">¥{$num}元
  229. <input type="hidden" name="order_amount" value="{$num}" />
  230. {*订单创建时间*}<input type="hidden" name="order_create_time" value="{$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'}" />
  231. </font></td>
  232. </tr>
  233. </tbody>
  234. </table>
  235. </div>
  236. <div style="margin: 8px auto;">
  237. <input type="submit" value='提交订单' type="image" />
  238. <input name="step" value="done" type="hidden" />
  239. </div>
  240. </div>
  241. </form>
  242. </div>
  243. <div class="blank"></div>
  244. <div class="block"> <a href="#" target="_blank" title="YONGDA商城"><img alt="YONGDA商城" src="{$smarty.const.IMG_URL}di.jpg" /></a>
  245. <div class="blank"></div>
  246. </div>
  247. <div class="blank"></div>
  248. <div id="bottomNav" class="box block">
  249. <div class="box_1">
  250. <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>
  251. </div>
  252. </div>
  253. <div class="blank"></div>
  254. <div id="bottomNav" class="box block">
  255. <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>
  256. </div>
  257. <div id="footer">
  258. <div class="text"> © 2005-2012 YONGDA 版权所有,并保留所有权利。<br />
  259. </div>
  260. </div>
  261. </body>
  262. </html></span></strong>

4.订单提交后:控制器里如下:

  1. <strong><span style="font-size:18px;">//购物车结算(提交订单)
  2. function cartToOrder(){
  3. //接收index传过来的值
  4. $sub_goods_buy_number=I('sub_goods_buy_number',0);//商品数量
  5. $consignee_name=I('consignee_name',0);//收货人姓名
  6. $consignee_email=I('consignee_email',0);//电子邮件地址
  7. $consignee_province=I('consignee_province',0);//省份
  8. $consignee_city=I('consignee_city',0);//城市
  9. $consignee_district=I('consignee_district',0);//地区
  10. $consignee_address=I('consignee_address',0);//详细地址
  11. $consignee_zipcode=I('consignee_zipcode',0);//邮政编码
  12. $consignee_tel=I('consignee_tel',0);//电话
  13. $consignee_mobile=I('consignee_mobile',0);//手机
  14. $consignee_best_time=I('consignee_best_time',0);//最佳送货时间
  15. $order_ship_name=I('order_ship_name',0);//配送方式名称
  16. $order_pay_name=I('order_pay_name',0);//支付方式
  17. $order_amount=I('order_amount',0);//订单总金额
  18. $order_create_time=I('order_create_time',0);//订单创建时间
  19. $uid=session("user_id");
  20. if(!$uid){
  21. echo "<script>alert('请先登录');location.href='../User/login'</script>";
  22. //$this->ajaxReturn(array("status"=>0,"info"=>"请先登录"));
  23. }
  24. $cart=unserialize(D('Cart')->where("cart_uid='{$uid}'")->getField("cart_info"));
  25. $id_arr=array();
  26. foreach($cart as $k=>$v){
  27. $id_arr[]=$v['goods_id'];
  28. }
  29. $ids=implode(',',$id_arr);//把商品id由数组变为逗号隔开
  30. $goods=D('Goods')->where("goods_id in ($ids)")->select();
  31. $order_data=array();
  32. foreach($goods as $k=>$v){
  33. $order_data['order_sn']=date("Ymdhis").'_'.$v['goods_id'];
  34. $order_data['order_uid']=$uid;
  35. $order_data['order_uname']=$consignee_email;
  36. $order_data['order_status']=1;
  37. $order_data['order_ship_name']=$order_ship_name;
  38. $order_data['order_pay_name']=$order_pay_name;
  39. $order_data['order_amount']=$order_amount;
  40. $order_data['order_create_time']=$order_create_time;
  41. }
  42. $oinfo=D('Order')->add($order_data);
  43. $order=D('Order')->field('order_sn')->find($oinfo);
  44. $order_sn=$order['order_sn'];
  45. if($oinfo){
  46. foreach($goods as $k=>$v){
  47. $order_goods_data=array();
  48. $order_goods_data['sub_pid']=$oinfo;
  49. $order_goods_data['sub_order_sn']=$order_sn;
  50. $order_goods_data['sub_goods_id']=$v['goods_id'];
  51. $order_goods_data['sub_goods_name']=$v['goods_name'];
  52. $order_goods_data['sub_goods_price']=$v['goods_price'];
  53. $order_goods_data['sub_goods_buy_number']=$sub_goods_buy_number[$k];
  54. $order_goods_data['sub_goods_buy_sum']=$sub_goods_buy_number[$k]*$v['goods_price'];
  55. $sinfo=D('Order_sub')->add($order_goods_data);
  56. }
  57. if($sinfo){
  58. foreach($goods as $k=>$v){
  59. $user_consignee_data=array();
  60. $user_consignee_data['consignee_u_id']=$uid;
  61. $user_consignee_data['consignee_name']=$consignee_name;
  62. $user_consignee_data['consignee_email']=$consignee_email;
  63. $user_consignee_data['consignee_province']=$consignee_province;
  64. $user_consignee_data['consignee_city']=$consignee_city;
  65. $user_consignee_data['consignee_district']=$consignee_district;
  66. $user_consignee_data['consignee_address']=$consignee_address;
  67. $user_consignee_data['consignee_zipcode']=$consignee_zipcode;
  68. $user_consignee_data['consignee_tel']=$consignee_tel;
  69. $user_consignee_data['consignee_mobile']=$consignee_mobile;
  70. $user_consignee_data['consignee_best_time']=$consignee_best_time;
  71. }
  72. $is_ok=D('User_consignee')->add($user_consignee_data);
  73. if($is_ok){
  74. $rst=D('Cart')->where("cart_uid='{$uid}'")->delete();//订单提交后删除用户购物车
  75. if($rst)
  76. echo "<script>alert('订单提交成功');location.href='../Cart/showlist'</script>";
  77. }
  78. }
  79. }
  80. //show_bug($ginfo);
  81. }</span></strong>

      


初学者如需购买thinkphp程序(包括前后台),加个人微信LBXZFR2013


微信扫描关注“公众号” 有惊喜

公众号ID“lbxzsan7378”



本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/201019?site
推荐阅读
相关标签
  

闽ICP备14008679号