宝哥软件园

php实现购物车功能(以大苹果购物网为例)

编辑:宝哥软件园 来源:互联网 时间:2021-09-05

首先是几个简单的登录页面

身体形态动作='李俶。PHP ' method=' post ' div style=' margin-left : 500 px;边距-top : 200 px;高度: 250像素;宽度: 250像素;border: 1px黑色虚线div style='左边距: 100px'h3登录/H3/div div style='页边距-顶部: 20px '用户名:输入类型=' text ' name=' uid '/div br/div密码:输入类型=' password ' name=' pwd '/div br/div style=' margin-left : 180 px '输入类型='submit '值='登录//div/表单/正文登录页面写好之后,需要进入处理页面,从数据库中调出用户名和密码:

?PHP session _ start();//开启会议必须要写到第一行标题('内容类型:文本/html;charset=utf-8 ');$ uid=$ _ POST[' uid '];//从登录页面获取到用户名和密码$ pwd=$ _ POST[' pwd '];包括(' DADB。上课。PHP’);$ db=new DADB();$sql='从登录名中选择密码,其中用户名=' { $ uid } $ arr=$ db-Query($ SQL);if($ arr[0][0]=$ pwd!空($pwd)) //判断所填写的密码和取到的密码是一样的,而且密码不能为空{ $ _ SESSION[' uid ']=$ uid;标题('位置: main。PHP’);}else{ echo '登录失败;}这个显示的是登录页面

下面要进入主页面了,从数据库中把所有的水果信息调出来,然后我们再来实现加入购物车这一项功能

氘大苹果购物网/h2?PHP session _ start();包括(' DADB。上课。PHP’);$ db=new DADB();表格边框='1 '宽度='100% '单元格填充='0 '单元格间距='0' tr td代号运输署/运输署水果名称运输署/运输署水果价格运输署/运输署原产地运输署/运输署货架运输署/运输署库存量TD/TD/TD/tr?PHP $ uid=$ _ SESSION[' uid '];$sql='从水果中选择* ';$ arr=$ db-Query($ SQL);foreach($ arr as $ v){ echo ' tr TD { $ v[0]}/TD//从数据库调出我们所需要的内容TD { $ v[1]}/TD TD { $ v[2]}/TD { $ v[3]}/TD TD { $ v[4]}/TD { $ v[5]}/TD TDA href=' add。PHP?id={ $ v[0]} '购买/a/TD/300这里的购买相当于添加购物车的功能/tr ';} ?php /这里显示的是购物车有多少产品,和产品的总价格$ ann=array();if(!空($ _ SESSION[' gwc ']){ $ ann=$ _ SESSION[' gwc '];} $钟磊=伯爵($安);$ sum=0;foreach($ann as $k) { $sql1='从水果中选择价格,其中id=' { $ v[0]} ';$贾丹=$数据库-查询($ SQL 1);foreach($贾丹为$ n){ $ sum=$ sum $ n[0]* $ k[1];} } echo '购物车有马克{ $钟磊}/马克种商品,总价格为马克{ $ sum }/马克元;/table diva href=' Gou wche。PHP ' rel='外部不跟随' rel='外部不跟随'查看购物车/aa href=' main。PHP ' rel='外部不跟随' rel='外部不跟随'浏览商品/aa href='胡璋。PHP ' rel='外部不跟随' rel='外部不跟随'查看账户/a/div/正文主页面显示图

接下来是添加购物车页面

?PHP session _ start();$ ids=$ _ GET[' ids '];如果(空($ _ SESSION[' gwc ']){//1 .购物车是空的,第一次点击添加购物车$arr=array(array($ids,1));$ _ SESSION[' gwc ']=$ arr;}else{ //不是第一次点击//判断购物车中是否存在该商品$ arr=$ _ SESSION[' gwc '];//先存一下$ chuxian=false foreach($ arr as $ v){ if($ v[0]==$ ids){ $ chuxian=true;} } if($chuxian) { //3 .如果购物车中有该商品对于($ I=0;$我数($ arr);$ I){ if($ arr[$ I][0]==$ id){ $ arr[$ I][1]=1;} } $ _ SESSION[' gwc ']=$ arr;} else { //2 .如果购物车中没有该商品$asg=array($ids,1);$ arr[]=$ ASG;$ _ SESSION[' gwc ']=$ arr;} }表头('位置:苟武社。PHP’);然后先是购物车主界面,如下

氘购物车中有以下商品:/H2表格单元格填充=' 0 '单元格间距=' 0 '边框=' 1 '宽度=' 100% ' tr TD商品名称运输署/运输署商品单价运输署/运输署购买数量TD/TD/TD/tr?PHP session _ start();//$ uid=$ _ SESSION[' uid '];$ arr=array();if(!空($ _ SESSION[' gwc ']){ $ arr=$ _ SESSION[' gwc '];}包含(' DADB。上课。PHP’);$ db=new DADB();foreach($ arr as $ v){ global $ db;$sql='从水果中选择*,其中id=' { $ v[0]} ';$att=$db - Query($sql,1);foreach($ att as $ n){ echo ' tr TD { $ n[1]}/TD TD { $ n[2]}/TD { $ v[1]}/TD TDA href=' shanchu。PHP?sy={$k} '删除/a/TD/tr ';} } ?/table div a href=' Gou wche。PHP ' rel='外部不跟随' rel='外部不跟随'查看购物车/a a href=' main。PHP ' rel='外部不跟随' rel='外部不跟随'浏览商品/a a a href='胡璋。PHP ' rel='外部不跟随' rel='外部不跟随'查看账户/a/div 14 15/body

紧接着我们就到了删除页面,当购物车只有一件商品和大于一件商品时做处理

?PHP session _ start();$ sy=$ _ GET[' sy '];//根据索引找到该数据$ arr=$ _ SESSION[' gwc '];$ arr[$ sy];//要删除的数据//如果数量不为1,数量减1if($ arr[$ sy][1]1){ $ arr[$ sy][1]=$ arr[$ sy][1]-1;}else //如果数量为1,移除{ unset($ arr[$ sy]);} $ _ SESSION[' gwc ']=$ arr;//最后存一下购物车的内容表头('位置:苟武社。PHP’);至于提交页面,我们要想到余额,库存等因素,所以比较繁琐,

不我怕,上代码。

?PHP session _ start();标题('内容类型:文本/html;charset=utf-8 ');//防止出现乱码$ uid=$ _ SESSION[' uid '];//先查一下账户余额包括(' DADB。上课。PHP’);$ db=new DADB();$ysql='从登录名中选择帐户,其中用户名=' { $ uid } $ yarr=$ db-Query($ ysql);$ yarr[0][0];//总额//购物车的总价格,前面有写过$ arr=array();if(!空($ _ SESSION[' gwc ']){ $ arr=$ _ SESSION[' gwc '];} $ sum=0;foreach($ arr as $ v){ $ v[1];//购物车中产品的数量$psql='从水果中选择价格WHERE id=' { $ v[0]} ';$ parr=$ db-Query($ psql);foreach($ parr as $ k){ $ k[0];//产品的单价$ sum=$ k[0]* $ v[1];}}//判断余额是否满足购买if($yarr[0][0]=$sum){//余额满足,要判断库存foreach($arr as $v) { $ksql='从水果中选择数字,其中id=' { $ v[0]} ';$ karr=$ db-Query($ ksql);$ karr[0][0];//这是库存if($karr[0][0]$v[1]) /表示库存不足,这时要给顾客提示库存不足{ echo '库存不足;退出;} } //判断之后需要提交订单了//账户扣除余额$ kcsql='更新登录设置帐户=帐户-{ $ sum },其中username=' { $ uid } $ db-Query($ kcsql,0);//这里是修改语句,所以要加上0 //扣除库存foreach($ arr as $ v){ $ kcksql=' update水果组编号=number-$v[1],其中id=' { $ v[0]} ';$db-Query($kcksql,0);}//所有的工作都做完了,这时我们就该提交订单了//这里我在数据库中做了两张表,把提交的订单添加到表中就可以保存了//添加订单$ddh=日期(' YmdHis ');$ time=date(' Y-m-d h : I :s ');$sdd='插入订单值(“{$ddh}”、“{$uid}”、“{ $ time }”)”;$db-Query($sdd,0);//添加订单详情foreach($ arr as $ v){ $ sddxq='插入订单详细信息值(',' {$ddh} ',' {$v[0]} ',' { $ v[1]} ')';$db-Query($sddxq,0);}}else{ echo '余额不足;退出;}?

实现功能是没问题的

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

更多资讯
游戏推荐
更多+