实现一个简单的购物网站

一、考试时间:8小时

二、开发工具:DW

三、数据库:见附件

四、需要实现的页面:

Index:浏览商品页面,显示商品列表,用户可以点击“购买“。

ViewCart:查看购物车页面,显示已购买的商品信息,可以点击“删除“已买的商品

ViewAccount:查看个人账户余额

Login:登录页面

建议使用的技术:Ajax,Session,数组。

五、实现功能:

1、 显示商品列表

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

开始做,首先先做一个登录页面:login.php

无标题文档

登录页面

账号:
密码:

效果如图:

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

<?phpsession_start ();include("../fengzhuang/DBDA.class.php");$db = newDBDA();$uid =$_POST["uid"];$pwd = $_POST["pwd"];$sql = "select password from login where username = '{$uid}'";$arr = $db->Query($sql);if($arr[0][0]==$pwd && !empty($pwd))

{$_SESSION["uid"] =$uid;header("location:main.php");

}else{echo"登录失败";

}

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

现在做主页的页面:main.php

无标题文档

大苹果购物网

date_default_timezone_set("PRC");//1.找出购物车中多少种商品和总价

$uid = $_SESSION["uid"];$attr = array();//如果购物车有商品,取出值

if(!empty($_SESSION["gwc"]))

{$attr = $_SESSION["gwc"];

}$gs = count($attr);//$gs 商品数量

$sum = 0;//$sum 总价格,默认总价格为0

foreach($attr as $v)

{$v[0];//水果代号

$v[1]; //水果数量

$sql = "select price from fruit where ids ='{$v[0]}'";//查询单价

$ajg = $db->Query($sql);$dj = $ajg[0][0];//单价

$sum += $dj * $v[1];//总价=单价*数量

}echo"

购物车中有:{$gs}种商品,商品总价为:{$sum}元

";?>

代号 水果名称 水果价格 原产地 货架 库存量   

$sql = "select * from fruit";$arr = $db->Query($sql);foreach($arr as $v)

{echo"

$v[0]$v[1]$v[2]$v[3]$v[4]$v[5]购买";

}?>

查看购物车

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

$ids = $_GET["ids"];//1.第一次点击添加购物车

//2.如果购物车中没有该商品

//3.如果购物车中有该商品

//第一步,判断购物车为空,则第一次点击把商品添加到购物车

if(empty($_SESSION["gwc"]))

{$arr = array(array($ids,1));$_SESSION["gwc"] = $arr;

}//如果不为空,则有2种判断,1:该商品为空,则需添加进去,2:该商品有,则需数量上+1;

else{//不是第一次点击

//判断购物车中是否存在该商品

$arr = $_SESSION["gwc"];$chuxian = false;foreach($arr as $v)

{if($v[0]==$ids)

{$chuxian =true;

}

}if($chuxian)

{//如果购物车中有该商品

for($i=0;$i

{$arr[$i][1]+=1;

}$_SESSION["gwc"] =$arr;

}else{//如果购物车中没有该商品

$asg = array($ids,1);$arr[] =$asg;$_SESSION["gwc"] = $arr;

}

}header("location:main.php");

登录效果如图:

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

首先购买3中商品:

然后代码:

无标题文档

大苹果购物网

购物车中有以下商品:

商品名称 商品单价 购买数量   

{$arr = $_SESSION["gwc"];

}foreach($arr as $k=>$v)

{$sql = "select * from fruit where ids ='{$v[0]}' ";$attr =$db->Query($sql);echo"

{$attr[0][1]}{$attr[0][2]}{$v[1]}删除";

}?>

提交订单

效果如图所示:

然后做提交页面 :tijiao.php

date_default_timezone_set('PRC') ;$uid=$_SESSION["uid"];$sye="select account from login where username ='{$uid}' ";$aye=$db->Query($sye);$aye[0][0];//余额

$attr =array();if(!empty($_SESSION["gwc"]))

{$attr =$_SESSION["gwc"];

}$sum = 0;//总价

foreach($attr as $v)

{$v[0];//水果代号

$v[1];//数量

$sql = "select price from fruit where ids='{$v[0]}'";$ajg = $db->Query($sql);$dj = $ajg[0][0];//单价

$sum +=$dj*$v[1];

}//判断余额是否满足购买

if($aye[0][0]>=$sum)

{//余额满足,判断库存

foreach($attr as $v)

{$skc = "select name,number from fruit where ids='{$v[0]}'";$akc = $db->Query($skc);$akc[0][1];//库存

//判库存是否满足

if($akc[0][1]

{echo"{$akc[0][0]}库存不足";exit;

}

}//提交订单

//账户扣除余额

$skcye = "update login set account=account-{$sum} where username ='{$uid}'";$db->Query($skcye,0);//扣除库存

foreach($attr as $v)

{$skckc = "update fruit set number = number-{$v[1]} where ids ='{$v[0]}'";$db->Query($skckc,0);

}//添加订单

$ddh = date("YmdHis");$time = time();$sdd = "insert into orders values('{$ddh}','{$uid}','{$time}')";$db->Query($sdd,0);//添加订单详情

foreach($attr as $v)

{$sddxq ="insert into orderdetails values('','{$ddh}','{$v[0]}','$v[1]')";$db->Query($sddxq,0);

}

}else{echo"余额不足";exit;

}header("location:main.php");

然后看看数据库有没有改变:

李四的账户余额已经减少了

php mysql购物网站_php实现一个简单的购物网站相关推荐

  1. php实现一个简单的购物网站

    实现一个简单的购物网站 一.考试时间:8小时 二.开发工具:DW 三.数据库:见附件 四.需要实现的页面: Index:浏览商品页面,显示商品列表,用户可以点击"购买". View ...

  2. 设计一个简单的购物页面(html+css+php)

    水平有限,精力有限,很多东西写得可能不那么详细,有不懂可以留言提问,懂的尽量解答 首先讲一下,购物页面肯定会涉及到数据库部分的,我这篇文章数据库方面不会详细讲,就简单给个思路.购物需要用到cookie ...

  3. 用php建设一个简单的网站,PHP_PHP新手上路(六),建设一个简单交互的网站(二) 5 - phpStudy...

    PHP新手上路(六) 建设一个简单交互的网站(二) 5.5 计数器 让我们在首页上加上一个计数器.这个例子已经被讲过多次了,但是还是有利于演示怎样读写文件以及创建自己的函数.counter.inc包含 ...

  4. mysql建立数据浏览器_一个简单的MySQL数据浏览器_php

    这个程序可以用来浏览mysql中的数据,您可以稍做修改就可以做出很不错的MySQL浏览器. */ /* ?cmd=db ?cmd=table&db={} http://www.gaodaima ...

  5. 如何使用PHP和MySQL搭建一个简单的算命网站

    算命是一种古老的传统文化,对于很多人来说,算命可以帮助他们解决一些问题,预知未来的发展趋势.现在,我们将通过开源算命的 php 源码来帮助那些想要自己搭建算命网站的人. 一.搭建环境 首先,我们需要搭 ...

  6. mysql建立数据浏览器_一个简单的MySQL数据浏览器

    一个简单的MySQL数据浏览器 2021-01-21 16:17:28679 这个程序可以用来浏览MySQL中的数据,您可以稍做修改就可以做出很不错的MySQL浏览器. */ /* ?cmd=db ? ...

  7. ipad php mysql_如何用PHP/MySQL为 iOS App 写一个简单的web服务器(译) PART1

    原文:http://www.raywenderlich.com/2941/how-to-write-a-simple-phpmysql-web-service-for-an-ios-app 作为一个i ...

  8. php使用mysql怎么连接浏览器_一个简单的php实现的MySQL数据浏览器

    一个简单的php实现的MySQL数据浏览器 更新时间:2007年03月11日 00:00:00   作者: 这个程序可以用来浏览MySQL中的数据,您可以稍做修改就可以做出很不错的MySQL浏览器. ...

  9. ios php mysql实例_如何用PHP/MySQL为 iOS App 写一个简单的web服务器(译) PART1

    原文:http://www.raywenderlich.com/2941/how-to-write-a-simple-phpmysql-web-service-for-an-ios-app 作为一个i ...

  10. mysql制作搜索引擎_MySQL 实现一个简单版搜索引擎,真是绝了!

    MySQL 实现一个简单版搜索引擎,真是绝了! 前言只有Innodb和myisam存储引擎能用全文索引(innodb支持全文索引是从mysql5.6开始的) char.varchar.text类型字段 ...

最新文章

  1. An internal error occurred during: quot;J2EE Component Mapping Updatequot;.
  2. OCP读书笔记(9) - 诊断数据库
  3. linux下更换pip源
  4. python3中数字类型有哪些_python全栈_009_Python3基本数据类型--列表(示例代码)
  5. centos7 修改为任意网卡名_VirtualBox虚拟机双网卡配置实现与本机互通并上网
  6. 万字长文,SpringSecurity
  7. WPS检测到字体缺失Windows字体包方正字体库
  8. 《安富莱嵌入式周报》第259期:2022.03.28--2022.04.03
  9. matlab程序 surf算法,SURF算法代码 matlab
  10. 小麦苗的常用代码--常用命令(仅限自己使用)
  11. 幼儿园语言活动包括哪几类_幼儿园语言教学活动提问的类型及优化设计
  12. matplotlib.colors(ListedColormap)
  13. RxSwift学习(五)--- RxSwift 操作符
  14. 深度学习中的遥感影像数据集~持续更新
  15. 【UFUN开发板评测】小巧而不失精致,简单而不失内涵——uFun开发板开箱爆照...
  16. Oracle分区详细解析
  17. php上传图片到mysql并显示
  18. Saturn Java作业SpringBoot方式开发打包
  19. frame框架初步解析
  20. android objdump 用法,ELF文件查看利器之objdump用法

热门文章

  1. 《Proof of Federated Learning: A Novel Energy-recycling Consensus Algorithm》精读
  2. Python爬取校花网
  3. java毕业设计共享充电宝系统mybatis+源码+调试部署+系统+数据库+lw
  4. 对偶(duality)的含义
  5. PyTorch中文教程 | (6) torch.nn是什么?
  6. 计算机清除服务命令,快速清理电脑垃圾用什么命令
  7. 电信移动信号测试软件,移动、联通、电信(信号强度大比拼)
  8. Github Actions生成 secrets
  9. 7-33 电话聊天狂人 (25 分)(map水题)
  10. OAuth2.0的refresh token