⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 class.cart.php

📁 php的购物车类
💻 PHP
字号:
<?php
/*****************************************************************************************
 *		Filename :	class.cart.php
 *		Path :		/include/class.cart.php
 *		Description :购物车类
 *		Author :	Abin Shary
 *		LastModify:	2005-12-6
 *
 ****************************************************************************************/
require_once('global.php');
Class cart
{
	var $mycart;
	//mycart 属性
	var $id;
	var $gid;
	var $url;//形象化图形url
	var $name;
	var $type;
	var $price=array();//array($price=>$expires);
	//mycart 总属性
	var $sum;
	var $mcount;//物品种类数
	//用户信息
	var $money;
	var $balance;//用户余额

	function cart($money=''){
		if($money==null)
			die('用户M币不足');
		else 
			$this->money=$money;
		$this->balance=$money;
		$this->totalprice=0;
		$this->mcount=0;
		$this->mycart=array();
		if(session_is_registered('mycart')==false)
			session_register('mycart');
		$this->update();
	
	}

	function update(){
		$mycart = $_SESSION['mycart'];
		if($mycart==false){
			$this->mcount = 0;
			$this->sum=0;
			$this->balance=$this->money;
			$this->mycart=array();
		}
		$this->mcount=count($mycart);
		$sum = 0;
		$this->sum=0;
		$balance=$this->money;
		if($this->mcount>0){
			//开始计算商品的金额
			foreach($mycart as $key=>$val)
			{
				foreach($mycart[$key]['price'] as $p=>$e)
					$pri=$p;
				$pri = round($pri,2);
				if($pri>$balance){
					return 0;
				}
				$sum += $pri;
				$balance=$balance-$pri;
				//echo $balance,'剩余M币<br>';
			}
			$this->balance=$balance;
			$this->sum = $sum;
			$this->mycart = $mycart;
			$_SESSION['mycart'] = $mycart;
			return 1;
		}
		return 1;
	}

	function addOne($good=0){
		if(is_array($good)&&$good){
			$gid  = $good['gid'];
			$url  = $good['url'];
			$name = $good['name'];
			$type = $good['type'];
			$price= $good['price'];
			$expires=$good['expires'];
		} else {
			$good=array();
			return 0;
		}
		if($price>$this->balance){
			echo "<script language='javascript'>alert('余额不足,请充M币');</script>";
			return 0;
		}
		if($price<=0)
			$price=0;
		$mycart = $_SESSION['mycart'];
		if($mycart==null)
			$mycart=array();
		foreach($mycart as $k=>$v)
			$max_id=intval($k);
		$id=$max_id+1;
		//echo $id;
		$mycart[$id]=array();
		$mycart[$id]['gid'] = $gid ;
		$mycart[$id]['url'] = $url ;
		$mycart[$id]['name'] = $name ;
		$mycart[$id]['type'] = $type;
		$mycart[$id]['price'] = array($price=>$expires);
		$_SESSION['mycart'] = $mycart;
		return $this->update();
	}

	function removeOne($id){
		$mycart = $_SESSION['mycart'];
		unset($mycart[$id]);
		if(count($mycart)==0){
			return $this->removeAll();
		}
		else {
			$_SESSION['mycart']=$mycart;
			return $this->update();
		}
	}

	function removeAll(){
		$mycart=$_SESSION['mycart'];
		unset($mycart);
		$_SESSION['mycart']=$mycart;
		return $this->update();
	}

	function getData(){
		if(count($this->mycart)>0){
			$mycart=array();
			foreach($this->mycart as $k=>$v){
				$mycart[$k]['id']   = intval($k);
				$mycart[$k]['gid']  = $this->mycart[$k]['gid'];
				$mycart[$k]['url']  = $this->mycart[$k]['url'];
				$mycart[$k]['name'] = $this->mycart[$k]['name'];
				$mycart[$k]['type'] = $this->mycart[$k]['type'];
				foreach($this->mycart[$k]['price'] as $kk => $vv){
					$mycart[$k]['price']   = $kk;
					$mycart[$k]['expires'] = $vv;
				}
			}
			return $mycart;
		} else {
			return array();
		}
	}

	function getTotalPrice(){
		return $this->sum;
	}
	function getBalance(){
		return $this->balance;
	}
	/*
	class.cart.php应用示例//shary\\2005-12-6
	session_start();
	require('class.cart.php');
	$cart=new cart($money);//$money为总的M币值
	$cart->addOne($good);//加入一个新物品$good=array();//\\
	//
	$good=array(
			 'gid'		=>$gid,
			 'url'		=>$url,
			 'name'		=>$name,
			 'type'		=>$type,
			 'price'	=>$price,
			 'expires'	=>$expires,
			 );
	\\
	$cart->removeOne($id);//删除$id的物品
	$cart->renoveAll();//删除购物车中所有物品
	$data=$cart->getData();//得到数据数组
	$cart->getTotalPrice();//得到总物品价格
	*/
}
?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -