实现一个简单的购物网站

一、考试时间:8小时

二、开发工具:DW

三、数据库:见附件

四、需要实现的页面:

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

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

ViewAccount:查看个人账户余额

Login:登录页面

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

五、实现功能:

1、 显示商品列表

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

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

4、 删除购物车中已购买的商品。
如果某商品的“购买数量”为1时,则点击“删除”时,直接从购物车中删除该商品;
如果商品的“购买数量”大于1时,点击一次“删除”时,把其购买数量减1。直到该商品购买数量为1时,再点击删除时,删除该商品

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

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

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

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

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

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

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

  1. 从用户账户中扣除本次购买的总价格
  2. 从商品库存中扣除本次每种商品的购买数量
  3. 向订单表和订单内容表中加入本次购买的商品信息

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

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head><body>
<h1>登录页面</h1>
<div>
<form action="logincl.php" method="post">
账号:
<input type="text" name="uid" />
</div>
<div>
密码:
<input type="password" name="pwd" />
</div>
<input type="submit" value="登录" />
</form>
</body>
</html>

效果如图:

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

<?php
session_start();
include("../fengzhuang/DBDA.class.php");
$db = new DBDA();$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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head><body>
<h1>大苹果购物网</h1><?php
session_start();
include("../fengzhuang/DBDA.class.php");
$db = new DBDA();
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"<div>购物车中有:{$gs}种商品,商品总价为:{$sum}元</div>";
?><table width="100%" border="1" cellpadding="0" cellspacing="0"><tr><td>代号</td><td>水果名称</td><td>水果价格</td><td>原产地</td><td>货架</td><td>库存量</td><td>&nbsp;&nbsp;</td></tr><?php//2.从数据库中找出数据$sql = "select * from fruit";$arr = $db->Query($sql);foreach($arr as $v){echo"<tr><td>$v[0]</td><td>$v[1]</td><td>$v[2]</td><td>$v[3]</td><td>$v[4]</td><td>$v[5]</td><td><a href='add.php?ids={$v[0]}'>购买</a></td></tr>";}?></table>
<a href="gouwuche.php?ids={$v[0]}">查看购物车</a></body>
</html>

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

<?php
session_start();
//找出点击"购买"的ids
$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<count($arr);$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中商品:

然后代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head><body><h1>大苹果购物网</h1><h2>购物车中有以下商品:</h2><table width="100%" border="1" cellpadding="0" cellspacing="0"><tr><td>商品名称</td><td>商品单价</td><td>购买数量</td><td>&nbsp;&nbsp;</td></tr><?phpsession_start();include("../fengzhuang/DBDA.class.php");$db = new DBDA();$uid = $_SESSION["uid"];$arr = array();if(!empty($_SESSION["gwc"])){$arr = $_SESSION["gwc"];}foreach($arr as $k=>$v){$sql = "select * from fruit where ids ='{$v[0]}' ";$attr =$db->Query($sql);echo"<tr><td>{$attr[0][1]}</td><td>{$attr[0][2]}</td><td>{$v[1]}</td><td><a href='shanchu.php?sy={$k}'>删除</a></td></tr>";}
?>
</table>
<div>
<a href="tijiao.php?ids='{$v[0]}'">提交订单</a>
</div></body>
</html>

效果如图所示:

然后做提交页面 :tijiao.php

<?phpsession_start();
include("../fengzhuang/DBDA.class.php");
$db = new DBDA();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]<$v[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");

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

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

转载于:https://www.cnblogs.com/shenzikun1314/p/6529624.html

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

  1. 从0开始利用宝塔linux面板+DSShop搭建一个简单的购物网站

    宝塔linux面板的安装详情在这 德尚官网 利用DSSshop搭建一个单店铺商城 在软件商店一键部署 找到DSSshop点击一键安装 在网站设置出添加一下ip 添加完之后在浏览器上方输入ip地址进行安 ...

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

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

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

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

  4. 用HTML,css,boostrap写一个综合大型购物网站

    用HTML,css,boostrap写一个综合大型购物网站 首先来看看页面的效果: 有需要的可以参考 首先是首页index: <!DOCTYPE html> <html>< ...

  5. [前后端分离][MVC模式]JavaWeb实现简单的购物网站主体功能

    本次购物网站小项目涉及的主体功能如下: 1.商品信息显示 2.详细商品信息显示 3.浏览过的商品信息列表(以五条为轮换) 4.购物车信息的增删改查 下面将展示最终结果,描述整体设计逻辑,并解释部分重要 ...

  6. 简单WEB购物网站----0之整体架构

    首先,这是一个简单基于MVC三层架构的JavaWeb的购物网站.(如果需要B2B购物网站文档分析书,自行百度) 从整体上分析,运用的技术有:C3P0连接池,apache的BeanUtils,apach ...

  7. 技术报告:程序员如何开发一个商城型购物网站

    前言 随着互联网的快速发展,电商行业正成为越来越多人的选择.而作为电商行业的主要参与者之一,商城型购物网站的开发则成为程序员不可避免的任务之一.本文将对商城型购物网站的开发进行详细阐述,包括需求分析. ...

  8. 运用Nginx搭建一个简单的个人网站

    目录 一.目的 二.完成步骤 1.安装nginx 2.设置Nginx 3.创建服务器块 三.打开网站 四.总结 五.参考资料 一.目的 尽你所学(采用html.或CSS.或Javascript等)完成 ...

  9. 一个简单的购物类网站

    最近给学校做了一个购物类的网站:捐赠网站;模式和淘宝是一样的:选择商品->选择数量->填写留言(评价)->付款(支付宝付款);逻辑比较简单. 接下来的几天,我将就编程中遇到的一些问题 ...

最新文章

  1. asp.net MVC中实现调取web api
  2. Xilinx ISE 开发过程中生成的各种文件(二)
  3. python list合并_python中如何合并两个列表
  4. [html] 说下你对组件、模块、元素的理解,它们的区别在哪里?
  5. 数据库基础知识——DDL语言
  6. 微软以白金会员加入 OpenChain 开源组织
  7. 用Redis实现分布式锁 与 实现任务队列
  8. python pypdf2另存为图片_Python系列—PDF文本与图片抽取
  9. java五子棋人机对战_java swing人机对战五子棋
  10. excel表格筛选某一列重复数据
  11. dumprep 0 -u 到底是什么东西?
  12. 设计模式基础学习之单例模式
  13. Linux DRM(一)Display Server
  14. Element UI 应用精讲
  15. python中的占位符
  16. kali内置超好用的代理工具proxychains
  17. 专访金榕:四年蜕变,阿里iDST是如何登上浪潮之巅的?
  18. 根据卫星仰角和方位角使用html5绘制天空图(投影图)
  19. python计算当天零点时间
  20. 微信小打卡,微信小打卡上打卡方法,被微信推荐的打卡小程序CSS margin(外边距)

热门文章

  1. 20个JS 小技巧超级实用
  2. Java串口通信详解(转)
  3. 微博粉丝平台开发全攻略
  4. TextBlock or Label?
  5. 全文目录和全文索引的关系
  6. 基于TCP协议的网络摄像头的设计与实现
  7. IFrame中 Forms验证超时页面跳转跳出框架 简单解决方法
  8. Oracle中别名长度也限得这么死!!!
  9. Linux 零拷贝方案
  10. (70)FPGA模块调用(system Verilog调用system Verilog)