tony_qi
新手上路

UID 77416
精华
0
积分 33
帖子 19
金钱 33 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2006-8-1 来自 上海
状态 离线
|
[推荐阅读] 北京朝阳招phper
class tcgoods
{
var $sortcount;//商品种类数
var $id;//每类商品的id(数组)
var $count;//每类商品的件数(数组)
var $info;//每类商品的描述(数组)
var $price;//每类商品的价格(数组)
var $itemno;//每类商品号(数组)
var $productid;//每类商品productid(数组)
//******构造函数
function tcgoods()
{
$this->sortcount=0;
/*session_start();//初始化一个session
session_register('easyid');
session_register('scount');
session_register('sinfo');
session_register('sprice');
session_register('sitemno');
session_register('sproductid'); */
session_start();//初始化一个session
$_SESSION['easyid'] = '$easyid';
$_SESSION['scount'] = '$scount';
$_SESSION['sinfo'] = '$sinfo';
$_SESSION['sprice'] = '$sprice';
$_SESSION['sitemno'] = '$sitemno';
$_SESSION['sproductid'] = '$sproductid';
$this->update();
}
//********私有,根据session的值更新类中相应数据
function update()
{
global $easyid, $scount, $sinfo, $sprice, $sitemno, $sproductid;
if(!isset($easyid) or !isset($scount))
{
return;
}
$this->id = $easyid;
$this->count = $scount;
$this->info = $sinfo;
$this->price = $sprice;
$this->itemno = $sitemno;
$this->productid = $sproductid;
//计算商品总数
$this->sortcount=count($easyid);
}
//**************以下为接口函数
/***************************
加一件商品
判断是否已有,如有,加count,否则加一个新商品
首先都是改session的值,然后再调用update() and calculate()来更新成员变量
*****************************/
function add($a_id, $a_count, $a_info, $a_price, $a_itemno, $a_productid)
{
global $easyid, $scount, $sinfo, $sprice, $sitemno, $sproductid;
$k = count($easyid);
for ($i=0;$i<$k;$i++)
{ //先找一下是否已经加入了这种商品
if($easyid[$i] == $a_id)
{
$scount[$i] += $a_count;
break;
}
}
if($i >= $k)
{ //没有则加一个新商品种类
$easyid[$i] = $a_id;
$scount[$i] = $a_count;
$sinfo[$i] = $a_info;
$sprice[$i] = $a_price;
$sitemno[$i] = $a_itemno;
$sproductid[$i] = $a_productid;
}
$this->update();//更新一下类的成员数据
}
/***************************
移去一件商品
*****************************/
function remove($a_id)
{
global $easyid, $scount;
$k = count($easyid);
for($i=0;$i<$k;$i++)
{
if($easyid[$i] == $a_id)
{
$scount[$i] = 0;
break;
}
}
$this->update();
}
/***************************
改变商品的个数
*****************************/
function modifycount($a_i,$a_count)
{
global $easyid, $scount;
$k = count($easyid);
for($i=0;$i<$k;$i++)
{
if($easy_temp=$easyid[$i]==$a_i)
{
$scount[$i] = $a_count;
break;
}
}
}
/***************************
清空所有的商品
*****************************/
function removeall()
{
session_unregister('easyid');
session_unregister('scount');
session_unregister('sinfo');
session_unregister('sprice');
session_unregister('sitemno');
session_unregister('sproductid');
$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[count] = $this->count[$i];
$result[info] = $this->info[$i];
$result[price] = $this->price[$i];
$result[itemno] = $this->itemno[$i];
$result[productid] = $this->productid[$i];
return $result;
}
/***************************
取总的商品种类数
*****************************/
function cgoodscount()
{
return $this->sortcount;
}
}
就是session那部分无法传值请指教
[ 本帖最后由 tony_qi 于 2007-8-17 01:45 PM 编辑 ]
|
|