php实现简单加入购物车功能


Posted in PHP onMarch 07, 2017

今天在练习购物车以及提交订单,写的有点头晕,顺便也整理一下,这个购物车相对来说比较简单,用于短暂存储,并没有存储到数据库,

购物车对于爱网购的人来说简直是熟悉的不能再熟悉了,在写购物车之前,我们首先要构思一下,我们需要先从数据库中调出一张表格,这里

我用的是fruit表,其次是登录表,我用的是login表,用来调用户名和密码的,所有的都准备好之后就要考虑放入购物车是会有三种情况的:

第一种情况:购物车里面什么都没有

第二种情况:购物车里面已经有此产品了,再次加入 这种情况下考虑到的是 数量要+1

第三种情况:购物车里面有产品了,但是没有此产品

下图是用到的数据库表格:

php实现简单加入购物车功能

php实现简单加入购物车功能

下面是登录页面的代码:

<body>
<form action="chuli.php" method="post">
 <div style="margin-left: 500px; margin-top: 200px;
 height: 250px; width: 250px; border: 1px dashed black">
 <div style="margin-left: 100px; "><h3>登录</h3></div>
 <div style="margin-top: 20px">用户名:<input type="text" name="uid"/></div><br/>
 <div>密 码:<input type="password" name="pwd"/></div><br/>
 <div style="margin-left: 180px"><input type="submit" value="登录"/></div>
 </div>
</form>
</body>

登录页面写好之后,需要进入处理页面,从数据库中调出用户名和密码:

<?php
session_start(); //开启session 必须要写到第一行
header("Content-type:text/html;charset=utf-8");
$uid=$_POST["uid"]; //从登录页面获取到用户名和密码
$pwd=$_POST["pwd"];
include("DADB.class.php");
$db=new DADB();
$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"登录失败";
}

登录页面如图所示:

php实现简单加入购物车功能

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

<h2>大苹果购物网</h2>
<?php
session_start();
include("DADB.class.php");
$db=new DADB();
?>
<table border="1" width="100%" cellpadding="0" cellspacing="0">
 <tr>
 <td>代号</td>
 <td>水果名称</td>
 <td>水果价格</td>
 <td>原产地</td>
 <td>货架</td>
 <td>库存量</td>
 <td></td>
 </tr>
 <?php
 $uid=$_SESSION["uid"];
 $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>";
 }
 ?>
 <?php
 //这里显示的是 购物车有多少产品,和产品的总价格
 $ann=array();
 if(!empty($_SESSION["gwc"]))
 {
 $ann=$_SESSION["gwc"];
 }
 $zhonglei = count($ann); 
 $sum=0;
 foreach($ann as $k)
 {
 $sql1="select price from fruit where ids='{$v[0]}'";
 $danjia=$db->Query($sql1);
 foreach($danjia as $n)
 {
  $sum=$sum + $n[0]*$k[1];
 }
 }
 echo"购物车有<mark>{$zhonglei}</mark>种商品,总价格为<mark>{$sum}</mark>元";
 ?>
</table>
<div>
<a href="gouwuche.php" rel="external nofollow" rel="external nofollow" >查看购物车</a>
<a href="main.php" rel="external nofollow" rel="external nofollow" >浏览商品</a>
<a href="zhanghu.php" rel="external nofollow" rel="external nofollow" >查看账户</a> </div>
</body>

主页面如图所示:

php实现简单加入购物车功能

最重要的就是添加购物车页面了

<?php
session_start();
$ids = $_GET["ids"];
if(empty($_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.如果购物车中有该商品
 for($i=0;$i<count($arr);$i++)
 {
  if($arr[$i][0]==$ids)
  {
  $arr[$i][1]+=1;
  }
 }
 $_SESSION["gwc"] = $arr;
 }
 else
 {
 //2.如果购物车中没有该商品
 $asg = array($ids,1);
 $arr[] = $asg;
 $_SESSION["gwc"] = $arr;
 }
}
header("location:gouwuche.php");

这样就可以显示到购物车的页面了,购物车的页面代码如下:

<h2>购物车中有以下商品:</h2>
<table cellpadding="0" cellspacing="0" border="1" width="100%">
 <tr>
 <td>商品名称</td>
 <td>商品单价</td>
 <td>购买数量</td>
 <td></td>
 </tr>
 <?php
 session_start();
 //$uid=$_SESSION["uid"];
 $arr=array();
 if(!empty($_SESSION["gwc"]))
 {
 $arr=$_SESSION["gwc"];
 }
 include("DADB.class.php");
 $db=new DADB();
 foreach($arr as $v)
 {
 global $db;
 $sql="select * from fruit where ids='{$v[0]}'";
 $att=$db -> Query($sql,1);
 foreach($att as $n)
 {
  echo"<tr>
 <td>{$n[1]}</td>
 <td>{$n[2]}</td>
 <td>{$v[1]}</td>
 <td><a href='shanchu.php?ids={$v[0]}'>删除</a></td>
 </tr>";}
 }
 ?>
</table>
<div>
<a href="gouwuche.php" rel="external nofollow" rel="external nofollow" >查看购物车</a> 
<a href="main.php" rel="external nofollow" rel="external nofollow" >浏览商品</a> 
<a href="zhanghu.php" rel="external nofollow" rel="external nofollow" >查看账户</a> </div> 14 15 </body>

这样进入购物车页面显示如图所示:

php实现简单加入购物车功能

这只是比较简单的加入购物车,但是中间还有很多环节没有完善好,比如说加入购物车后,数据库中的产品数量减少、购物车中产品的删除等操作还没有做,后续再补上,现在脑子有点乱。。。

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

PHP 相关文章推荐
php知道与问问的采集插件代码
Oct 12 PHP
PHP 正则表达式小结
Feb 12 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
Dec 02 PHP
php socket通信(tcp/udp)实例分析
Feb 14 PHP
php错误日志简单配置方法
Jul 11 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
Nov 09 PHP
golang 调用 php7详解及实例
Jan 04 PHP
PHP filesize函数用法浅析
Feb 15 PHP
PHP写API输出的时用echo的原因详解
Apr 28 PHP
Laravel修改验证提示信息为中文的示例
Oct 23 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 PHP
详细分析PHP7与PHP5区别
Jun 26 PHP
mac os快速切换多个PHP版本的方法
Mar 07 #PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
Mar 06 #PHP
PHP实现添加购物车功能
Mar 06 #PHP
PHP自动补全表单的两种方法
Mar 06 #PHP
PHP中for循环与foreach的区别
Mar 06 #PHP
微信公众平台开发-微信服务器IP接口实例(含源码)
Mar 05 #PHP
php实现留言板功能
Mar 05 #PHP
You might like
《神奇女侠:血脉》神力女超人大战犯罪公司
2020/04/09 欧美动漫
SONY SRF-40W电路分析
2021/03/02 无线电
用header 发送cookie的php代码
2007/03/16 PHP
PHP使用array_merge重新排列数组下标的方法
2015/07/22 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
2016/03/18 PHP
php中的登陆login实例代码
2016/06/20 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
PHP微信公众号开发之微信红包实现方法分析
2017/07/14 PHP
php命令行写shell实例详解
2018/07/19 PHP
贴一个在Mozilla中常用的Javascript代码
2007/01/09 Javascript
从阶乘函数对比Javascript和C#的异同
2012/05/31 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
再谈JavaScript线程
2015/07/10 Javascript
JS FormData上传文件的设置方法
2017/07/05 Javascript
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
浅谈webpack和webpack-cli模块源码分析
2020/01/19 Javascript
vue 项目引入echarts 添加点击事件操作
2020/09/09 Javascript
Python实现的批量下载RFC文档
2015/03/10 Python
Python实现telnet服务器的方法
2015/07/10 Python
Python冒泡排序注意要点实例详解
2016/09/09 Python
python+pyqt实现12306图片验证效果
2017/10/25 Python
Pandas 合并多个Dataframe(merge,concat)的方法
2018/06/08 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
Python占用的内存优化教程
2019/07/28 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
通过css3动画和opacity透明度实现呼吸灯效果
2019/08/09 HTML / CSS
利用CSS3实现开门效果实例源码
2016/08/22 HTML / CSS
协议书范本
2014/04/23 职场文书
煤矿安全知识竞赛活动总结
2014/07/07 职场文书
文案策划专业自荐信
2014/07/07 职场文书
2014年政风行风工作总结
2014/11/22 职场文书
党员个人自我评价
2015/03/03 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
幼儿园小班教育随笔
2015/08/14 职场文书