`

购物车

    博客分类:
  • js
阅读更多

前不久做到一个项目需要用到购物车,考虑到可能经常用到,所以把它封装成一个类,以便以后调用。你可以简单的把这个类稍微修改一下就可以用在自己的程序里了,具体使用请见http://bigeagle.wotoo.com/article.asp?type=1。

<?
/*****************************************************************************/
/*                                                                           */
/* file type:      包含文件,建议后缀为.inc                                  */
/*                                                                           */
/* file name:      cart.inc                                                  */
/*                                                                           */
/* Description:    定义一个购车类                                            */
/*                                                                           */
/* Func list :     class cart                                                */
/*                                                                           */
/* author :        bigeagle                                                  */
/*                                                                           */
/* date :          2000/12/24                                                */
/*                                                                           */
/* History:        2000/12/24  finished                                      */
/*                                                                           */
/*****************************************************************************/

//定义本文件常量
define("_CART_INC_" , "exists") ;

/*购物车类*/
class TCart
{

  var $SortCount;            //商品种类数
  var $TotalCost;            //商品总价值

  var $Id;                   //每类商品的ID(数组)
  var $Name;                 //每类商品的名称(数组)
  var $Price;                //每类商品的价格(数组)
  var $Discount;             //商品的折扣(数组)
  var $GoodPrice ;           //商品的优惠价格(数组)
  var $Count;                //每类商品的件数(数组)
  var $MaxCount ;            //商品限量(数组)

  //******构造函数
  function TCart()
  {
   $this->SortCount=0;

   session_start(); //初始化一个session
   session_register('sId');
   session_register('sName');
   session_register('sPrice');
   session_register('sDiscount');
   session_register('sGoodPrice') ;
   session_register('sCount') ;
   session_register('sMaxCount') ;

   $this->Update();
   $this->Calculate();
  }

  //********私有,根据session的值更新类中相应数据
  function Update()
  {
    global $sId,$sName,$sPrice,$sCount,$sDiscount,$sMaxCount,$sGoodPrice;

   if(!isset($sId) or !isset($sName) or !isset($sPrice)
      or !isset($sDiscount) or !isset($sMaxCount)
      or !isset($sGoodPrice) or !isset($sCount)) return;

   $this->Id        =$sId;
   $this->Name      =$sName;
   $this->Price     =$sPrice;
   $this->Count     =$sCount;
   $this->Discount  = $sDiscount ;
   $this->GoodPrice = $sGoodPrice ;
   $this->MaxCount  = $sMaxCount ;

   //计算商品总数
   $this->SortCount=count($sId);

  }

  //********私有,根据新的数据计算每类商品的价值及全部商品的总价
  function Calculate()
  {
   for($i=0;$i<$this->SortCount;$i++)
   {
     /*计算每件商品的价值,如果折扣是0 ,则为优惠价格*/
     $GiftPrice = ($this->Discount[$i] == 0 ? $this->GoodPrice :
                   ceil($this->Price[$i] * $this->Discount[$i])/100 );
     $this->TotalCost += $GiftPrice * $this->Count[$i] ;
   }
  }


  //**************以下为接口函数

  //*** 加一件商品
  // 判断是否蓝中已有,如有,加count,否则加一个新商品
  //首先都是改session的值,然后再调用update() and calculate()来更新成员变量
  function Add($a_ID , $a_Name , $a_Price , $a_Discount ,
               $a_GoodPrice , $a_MaxCount , $a_Count)
  {
   global $sId , $sName , $sCount , $sPrice , $sDiscount ,
          $sGoodPrice , $sMaxCount ;

   $k=count($sId);
   for ($i=0; $i<$k; $i++)
   { //先找一下是否已经加入了这种商品
     if($sId[$i]==$a_ID)
     {
      $sCount[$i] += $a_Count ;
      break;
     }
   }
   if($i >= $k)
   { //没有则加一个新商品种类
    $sId[]        = $a_ID;
    $sName[]      = $a_Name;
    $sPrice[]     = $a_Price;
    $sCount[]     = $a_Count;
    $sGoodPrice[] = $a_GoodPrice ;
    $sDiscount[]  = $a_Discount ;
    $sMaxCount[]  = $a_MaxCount ;
   }

   $this->Update(); //更新一下类的成员数据
   $this->Calculate();
  }

  //移去一件商品
  function Remove($a_ID)
  {
   global $sId , $sName , $sCount , $sPrice , $sDiscount ,
          $sGoodPrice , $sMaxCount ;

   $k = count($sId);
   for($i=0; $i < $k; $i++)
   {
     if($sId[$i] == $a_ID)
     {
       $sCount[$i] = 0 ;
       break;
     }
   }

   $this->Update();
   $this->Calculate();
  }

  //改变商品的个数
  function ModifyCount($a_i,$a_Count)
  {
   global $sCount;

   $sCount[$a_i] = $a_Count ;
   $this->Update();
   $this->Calculate();
  }


  /***************************
  清空所有的商品
  *****************************/
  function RemoveAll()
  {
   session_unregister('sId');
   session_unregister('sName');
   session_unregister('sPrice');
   session_unregister('sDiscount');
   session_unregister('sGoodPrice') ;
   session_unregister('sCount') ;
   session_unregister('sMaxCount') ;
   $this->SortCount = 0 ;
   $this->TotalCost = 0 ;
  }


  //是否某件商品已在蓝内,参数为此商品的ID
  function Exists($a_ID)
  {
   for($i=0; $i<$this->SortCount; $i++)
   {
     if($this->Id[$i]==$a_ID) return TRUE;
   }
   return FALSE;
  }

  //某件商品在蓝内的位置
  function IndexOf($a_ID)
  {
   for($i=0; $i<$this->SortCount; $i++)
   {
    if($this->Id[$i]==$id) return $i;
   }
   return 0;
  }

  //取一件商品的信息,主要的工作函数
  //返回一个关联数组,
  function Item($i)
  {
   $Result[id]        = $this->Id[$i];
   $Result[name]      = $this->Name[$i];
   $Result[price]     = $this->Price[$i];
   $Result[count]     = $this->Count[$i];
   $Result[discount]  = $this->Discount[$i] ;
   $Result[goodprice] = $this->GoodPrice[$i] ;
   $Result[maxcount]  = $this->MaxCount[i] ;
   return $Result;
  }

  //取总的商品种类数
  function CartCount()
  {
   return $this->SortCount;
  }

  //取总的商品价值
  function GetTotalCost()
  {
   return $this->TotalCost;
  }
}  

分享到:
评论

相关推荐

    当当购物车页面_当当购物车页面_html网页购物车_js当当购物车_

    下面将详细阐述这两个技术在实现购物车功能中的应用及其相关知识点。 1. HTML(超文本标记语言):HTML是网页设计的基础,用于定义网页的结构和内容。在购物车页面中,HTML元素如`&lt;table&gt;`、`&lt;tr&gt;`、`&lt;td&gt;`用于创建...

    asp.net购物车 .net购物车 C#购物车 net通用购物车 asp通用购物车

    asp.net购物车 .net购物车 C#购物车 net通用购物车 asp通用购物车 asp.net购物车 .net购物车 C#购物车 net通用购物车 asp通用购物车 asp.net购物车 .net购物车 C#购物车 net通用购物车 asp通用购物车

    购物车完整功能代码

    在IT行业中,购物车功能是电子商务网站或应用的核心部分,它允许用户选择商品并暂时存储在虚拟购物车内,以便后续结账。本项目名为“购物车完整功能代码”,旨在提供一个全面的解决方案,涵盖批量选择和批量删除等...

    韩顺平购物车源代码

    【韩顺平购物车源代码】是一套完整的电商购物车系统的源码,旨在提供一个详细的、高价值的参考实现,确保开发者在构建自己的购物车功能时能够得到充分的指导和帮助。这套源代码覆盖了购物车应有的核心功能,每个页面...

    购物车(JSTL实现)

    **购物车(JSTL实现)** 购物车是任何电子商务网站的核心组成部分,它允许用户临时存储想要购买的商品,以便在结账时一次性处理。在这个项目中,我们将关注使用JavaServer Pages (JSP) 和 JavaServer Pages ...

    JSP SSH购物车源码

    【JSP SSH购物车源码】是一个基于Java Web技术实现的电子商务系统,主要利用了Java Server Pages(JSP)、Struts、Spring以及Hibernate这四个核心组件,也即我们常说的SSH框架。该框架的组合提供了高效、灵活和可...

    java web版 购物车系统

    【标题】:基于Struts、Spring、Hibernate的Java Web购物车系统 【描述】:本项目采用经典的SSH(Struts、Spring、Hibernate)框架技术,结合SQL Server 2000数据库,利用Myeclipse开发环境实现了一个完整的Java ...

    小程序购物车实例

    在微信小程序开发中,购物车功能是不可或缺的一部分,它允许用户选择商品并进行结算。本实例将探讨如何在小程序中实现一个完整的购物车系统。首先,我们来了解一下小程序的基础知识。 微信小程序是一种轻量级的应用...

    jsp增删改查_购物车购物车购物车购物车购物车购物车

    本项目“jsp增删改查_购物车购物车购物车购物车购物车购物车”显然关注的是如何使用JavaServer Pages(JSP)技术来实现购物车的基本操作:添加、删除、修改和查询。下面将详细介绍这些知识点。 1. **JSP基础**: ...

    网上购物车系统(购物车的详细实现过程源码)

    购物车系统是电子商务网站的核心组成部分,它允许用户在浏览商品时选择并临时存储商品,以便于后续的结算操作。下面将详细介绍购物车系统的实现过程及其关键功能。 首先,购物车系统的基本架构通常包括以下几个主要...

    小米购物车的实现代码

    在IT行业中,构建一个购物车系统是电商网站的核心部分,对于像小米这样的知名电商平台更是如此。这个"小米购物车的实现代码"项目,利用CSS、JavaScript等前端技术,旨在创建一个既功能齐全又视觉上吸引人的购物车...

    Android 仿外卖购物车Demo

    在Android开发中,仿外卖购物车的实现是一个常见的需求,涉及到许多关键的编程概念和技术。这个Demo主要展示了如何创建一个类似外卖应用中的购物车功能,包括添加商品、修改数量、删除商品以及计算总价等核心操作。...

    购物车的基本实现

    在电子商务网站中,购物车是不可或缺的一个功能模块,它允许用户选择商品并暂时存储,以便于后续结算。本文将深入探讨“购物车”的基本实现,主要涉及的技术包括JSP(JavaServer Pages)、Servlet以及Hibernate,...

    简单的购物车实现计算

    在IT行业中,购物车功能是电子商务网站不可或缺的一部分。在这个项目中,我们主要关注的是使用Java Server Pages (JSP) 和 session 对象来实现一个简单的购物车功能。JSP是一种动态网页技术,它允许我们在HTML页面中...

    Asp.net MVC购物车源码实例

    在购物车场景中,模型可能包括商品信息、购物车项和订单等实体,视图展示商品列表、购物车内容以及结账页面,控制器则处理添加商品到购物车、更新购物车和结算等操作。 该实例使用Sql Server 2008作为数据库,存储...

    购物车的实现_购物车面试题_购物车_

    购物车在电商系统中扮演着至关重要的角色,它是用户在线选购商品的核心功能模块。本文将深入探讨购物车的实现过程,以及与之相关的面试题,旨在帮助开发者更好地理解和设计购物车系统。 首先,购物车与用户的关系是...

    js加入购物车抛物线动画与购物车效果特效

    js加入购物车抛物线动画与购物车效果特效,亲测可用, 当您在电商购物网站浏览中意的商品时,您可以点击页面中的“加入购物车”按钮即可将商品加入的购物车中。本文介绍借助一款基于jQuery的动画插件,点击加入...

    vue实现商城购物车功能

    本文实例为大家分享了vue实现商城购物车功能的具体代码,供大家参考,具体内容如下 首先,先上最终的效果图 效果并不是很好看,但是这不是重点。 首先,我们先看下布局: 购物车 (item,index)&gt; ...

    小程序加入购物车动画效果(飞入购物车)

    在微信小程序开发中,为了提升用户体验,经常需要添加各种交互效果,其中“飞入购物车”的动画效果是一种常见的设计,可以使得用户在将商品添加到购物车时有更直观、生动的感受。本教程将详细讲解如何在小程序中实现...

    jsp+servlet简易购物车

    1.本项目采用mysql数据库进行储存数据,所以优先搭建项目所需数据库结构,此项目有用户表,商品表,购物车表,结算表等信息。 2.利用搭建好的jsp+servlet框架提供http请求及响应视图能力,展示项目所需各个jsp页面。...

Global site tag (gtag.js) - Google Analytics