侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

PHP实现一个多功能购物网站的案例

php  /  管理员 发布于 7年前   216

一、需要实现的页面:

Index.aspx:浏览商品页面,显示商品列表,用户可以点击“加入购物车“。

ViewCart.aspx:查看购物车页面,显示已购买的商品信息,可以点击“删除“和“提交添加订单购买”商品

ViewAccount.aspx:查看个人账户余额

Login.aspx:登录页面

二、实现功能:

1.显示商品列表

2.实现购买功能,购买的时候动态显示购物车中的商品数量和商品总价格

3.点击查看购物车后,显示已购买的商品。注意“购买数量”列,如果对一种商品点击购买多次,其“购买数量”不断增加。

4.删除购物车中已购买的商品。

如果某商品的“购买数量”为1时,则点击“删除”时,直接从购物车中删除该商品;

如果商品的“购买数量”大于1时,点击一次“删除”时,把其购买数量减1。直到该商品购买数量为1时,再点击删除时,删除该商品

5.在查看完购物车后还可以点击“浏览商品”继续购买。并在上面显示已购买的商品数量和总价格。

6.在“查看购物车“后,可以提交订单。

但在提交订单时,须完成以下功能:

(a)检查用户是否已登录,未登录则转到Login.aspx页面

(b)检查用户账户余额是否能够满足本次够买

(c)检查库存数量是否满足本次够买

(d)如果以上条件都满足则

i.从用户账户中扣除本次购买的总价格

ii.从商品库存中扣除本次每种商品的购买数量

iii.向订单表和订单内容表中加入本次购买的商品信息

7.点击查看账户,可以查看该用户的账户余额

操作代码如下:

1.首先先做一个登录页面:loginpage.php

                
果 蔬 网

用户登录

效果如图:

2.在做一个登录的处理页面:dengluchuli.php

query($sql,0);if($arr[0][2]==$pwd && !empty($pwd)){ $_SESSION["uid"]=$uid; header("location:shopping_list.php");}else{ echo "登陆失败!";}

这样就可以和数据库联系了,这个是数据库的登录帐号和密码,验证帐号,密码,然后跳到主页:shopping_list.php

3.现在做主页的页面:shopping_list.php

               

水果列表

$v){ //$v[0];//水果名称 //$v[1];//购买数量 $sql = "select * from fruit where ids='{$v[0]}'"; $attr = $db->query($sql,0); $dj = $attr[0][2];  //单价 $sum = $sum+$dj*$v[1];   //总价=单价*数量 } } echo @"
购物车中商品总数为{$numbers}个,商品总价为:{$sum}元"; ?> 登录 query($sql,0); foreach($arr as $v){ echo ""; } ?>
代号 名称 价格 产地 库存 操作
{$v[0]} {$v[1]} {$v[2]} {$v[3]} {$v[4]} 加入购物车
查看购物车

4.然后做主页的处理页面:shoppingchuli.php

$v){   if($v[0]==$ids){    $arr[$k][1]++;       }  }   $_SESSION["gwd"]=$arr;   }else{  //如果该商品购物车里面不存在,造一个一维数组扔到二维里面  $arr=$_SESSION["gwd"];   $attr=array($ids,1);  $arr[]=$attr;  $_SESSION["gwd"]=$arr; }}header("location:shopping_list.php");function deep_in_array($value, $array) {  foreach($array as $item) {   if(!is_array($item)) {    if ($item == $value) {     return true;    } else {     continue;    }   }      if(in_array($value, $item)) {    return true;    } else if(deep_in_array($value, $item)) {    return true;    }  }  return false; }

效果如图:

5.然后再做查看购物车页面,能看到购物车中的商品和单价和总价:gouwuche.php

                

购物车清单

$v){ //$v[0];$v[1]; $sql = "select * from fruit where ids='{$v[0]}'"; $a = $db->query($sql,0); //var_dump($v[1]); echo ""; $dj = $a[0][2]; $sum = $sum+$dj*$v[1]; } } //echo "
购物车中商品总数为{$numbers}个,商品总价为:{$sum}元";?>
代号 名称 价格 产地 购买数量 操作
{$v[0]} {$a[0][1]} {$a[0][2]} {$a[0][3]} {$v[1]} 删除
提交订单

效果如图:

6.再做删除的处理页面goodsdel.php

1){ $arr[$zj][1]=$arr[$zj][1]-1;}else{ unset($arr[$zj]); //清除数组 $arr=array_values($arr); //重新索引数组}$_SESSION["gwd"] = $arr;header("location:add_list.php");

7..然后做提交页面 :tijiao.php

query($sql,0);$aye = $arr[0][0];//余额//var_dump($aye);if(!empty($_SESSION["gwd"])){ $arr = $_SESSION["gwd"]; $sum = 0; //$numbers = count($arr); foreach($arr as $v){  $sql = "select * from fruit where ids='{$v[0]}'";  $price = $db->query($sql,0);  $dj = $price[0][2];  $sum = $sum+$dj*$v[1]; } }else{ echo "您还未购买商品!"; //header("shopping_list.php"); exit;}//判断余额是否满足购买if($aye>=$sum){ //判断库存 foreach($arr as $v){  $skc = "select name,numbers from fruit where ids='{$v[0]}'";  $akc = $db->query($sql,0);  var_dump($akc);  $kc = $akc[0][4];//库存  //var_dump($kc);    if($kc<$v[1]){   echo "库存不足!";   exit;  } } //提交订单 //账户扣除余额 $skye = "update login set account=account-{$sum} where username='{$uid}'"; $zhye = $db->query($skye);  //扣除库存 foreach($arr as $v){ $skckc = "update fruit set numbers=numbers-{$v[1]} where ids='{$v[0]}'"; $sykc = $db->query($skckc); } //添加订单 $ddh = date("Y-m-d H:i:s"); $time = time(); $stjd = "insert into orders values('{$time}','{$uid}','{$ddh}')"; $wcdh = $db->query($stjd); //添加订单详情 foreach($arr as $v){  $ddxq = "insert into orderdetails values('','{$ddh}','{$v[0]}','{$v[1]}')";  $axq = $db->query($ddxq); } }else{ echo "余额不足,请充值!"; exit;}header("location:shopping_list.php");

用户账户余额已经减少:


以上这篇PHP实现一个多功能购物网站的案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

您可能感兴趣的文章:

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


  • 上一条:
    php之可变函数的实例详解
    下一条:
    php之可变变量的实例详解
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 用Time Warden监控PHP中的代码处理时间(0个评论)
    • 在PHP中使用array_pop + yield实现读取超大型目录功能示例(0个评论)
    • Property Hooks RFC在PHP 8.4中越来越接近现实(0个评论)
    • 近期文章
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(95个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-11
    • 2017-12
    • 2018-01
    • 2018-02
    • 2018-03
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-09
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    • 2024-05
    • 2024-06
    • 2024-07
    • 2024-09
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客