国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

PHP購物車類

2024-05-04 21:52:42
字體:
供稿:網(wǎng)友

因為需求中只記錄產(chǎn)品的類型,還有編號..比如食物,,然后什么編號,,這樣子.所以沒有記錄產(chǎn)品的數(shù)量..要用的自己改進(jìn)一下就行了.

<?php
//setcookie("cart","s:26,45,4,4523423|d:17,7,27,26|e:12,13,123,43|f:34");
//cartAdd('e','167');
//getProInfo('z');
//delProInfo('f','26');


/**
* ***********
* 用于記錄,修改,刪除COOKIE的類,用于我的計劃的本地信息的更改
* LIQUAN
*/

class cart
{
/*
實現(xiàn)COOKIES購物車
@type 產(chǎn)品類型
@id 產(chǎn)品編號
COOKIES的結(jié)果為 type1:3,45,23|type2:34,234,34|type3:344,124
*/
function cartAdd(type,id)
{
//如果第一次使用,則重新設(shè)置COOKIES
if(!isset(_COOKIE["cart"]))
{
setcookie("cart",type.":".id);
}
else
{
//如果不是第一次,則先取出來
cartStr=_COOKIE["cart"];
//把結(jié)果分開
cartarray=split("/|",cartStr);

//用于判斷類型是否存在,初始不存在,為零
istype=0;
//產(chǎn)品編號列表
id_list;
//循環(huán)產(chǎn)品
for (i=0;i<count(cartarray);i++)
{
//獲取產(chǎn)品名和產(chǎn)品編號列表
list(carttype,product)=split(":",cartarray[i]);
//如果已經(jīng)存在的產(chǎn)品與要保存的相如,把isType改為1,說明產(chǎn)品已經(jīng)存在
if (type==carttype)
{
istype=1;
//獲取產(chǎn)品的編號列表
id_list=product;
//中斷循環(huán)
break ;
}
}
//如果產(chǎn)品不存在
if(istype==0)
{
//往COOKIES里面加入新產(chǎn)品和產(chǎn)品的編吃
cartStr=cartStr."|".type.":".id;
}
else
{
//把產(chǎn)品列表分開成數(shù)組
id_list=split("/,",id_list);
//標(biāo)識產(chǎn)口編號是否存在,初始不存在
isId=0;
//循環(huán)產(chǎn)品編號
for(i=0;i<count(id_list);i++)
{
//如果要保存的產(chǎn)品編號已尼存在
if(id==id_list[i])
{
//標(biāo)識已存在.退出循環(huán)
isId=1;
break;
}
}
//這里只做產(chǎn)品類型和產(chǎn)品編號,所以相同的不加數(shù)量,直接不外理
//如果相關(guān)類型的產(chǎn)品編號不存在,則加上新的編號
if(isId!=1)
{
cartStr=str_replace(type.":",type.":".id.",",cartStr);
//cartStr=str_replace('d:','d:2,',cartStr);
}

}
setcookie("cart",cartStr);
print_r(_COOKIE["cart"]);

//setcookie("cart","",time()-100);


}
return ;
}
//返回相應(yīng)的產(chǎn)品列表
/*
@type產(chǎn)品類型
*/
function getProInfo(type)
{
//獲取購物車COOKIES
cartStr=_COOKIE["cart"];

//匹配COOKIES字符,獲取產(chǎn)品列表
preg_str=type.":((/d+),)*(/d+)";
//echo "<br>";
preg_match("/".preg_str."/",cartStr,proStr);

//echo proStr[0];
//exit();
list(protype,product)=split(":",proStr[0]);

return product;
//pro_list=split(",",product);
//返回產(chǎn)品列表
//return pro_list;
// print_r(pro_list);
}
/*
*刪除產(chǎn)品
*@type產(chǎn)品類型名
*@id 產(chǎn)品編號
*/
function delProInfo(type,id)
{
//獲取購物車COOKIES
cartStr=_COOKIE["cart"];

//匹配COOKIES字符,獲取產(chǎn)品列表
preg_str=type.":((/d+),)*(/d+)";
//echo "<br>";
preg_match("/".preg_str."/i",cartStr,proStr);

//只有能找到要刪除的類型,才進(jìn)行下面操做
if(proStr)
{
//查詢刪除的類型里面是否有要刪除的ID
isproId=strstr(proStr[0],id);

//如果有,才進(jìn)行下面操作
if(isproId)
{
//更新后的產(chǎn)品字符串
upproStr;
//更新后的所有最新的產(chǎn)品COOKIES字符
newCartStr;

//查詢要刪除的產(chǎn)品是否有多個
preg_match("/,/",proStr[0],isend);
//如果有,進(jìn)行下面操作
if(isend)
{
//查詢要刪除的產(chǎn)品后面是否還有產(chǎn)品
preg_match("/".id.",/",proStr[0],isdot);
//如果有,刪除后面的逗號
if(isdot)
{
upproStr=str_replace(id.",","",proStr[0]);
}
//如果沒有,刪除前面的逗號
else
{
upproStr=str_replace(",".id,"",proStr[0]);
}
//更新要插入COOKIES里面的字符串
newCartStr=str_replace(proStr[0],upproStr,cartStr);
}
//如果沒有多個,則直接刪除該類產(chǎn)品
else
{

//判斷該類產(chǎn)品后面還有沒有產(chǎn)品
preg_match("/".proStr[0]."/|/",cartStr,issu);
//如果有,則刪除后面的分格符
if(issu)
{
newCartStr=str_replace(proStr[0]."|","",cartStr);
}
//如果沒有,則刪除前面的分格符
else
{
newCartStr=str_replace("|".proStr[0],"",cartStr);
}
}

setcookie("cart",newCartStr);

}
}
}
function deletecart()
{
setcookie("cart","",time()-100);
}
}
?>
 

 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 江孜县| 泰州市| 深圳市| 长顺县| 宝山区| 洛南县| 西城区| 贵州省| 当雄县| 南通市| 旬阳县| 黎平县| 宣威市| 伊金霍洛旗| 平阴县| 尼木县| 湘西| 丹阳市| 丰城市| 贡觉县| 万山特区| 岑溪市| 土默特右旗| 汉中市| 恩平市| 历史| 惠来县| 运城市| 玛纳斯县| 广东省| 尼玛县| 大庆市| 呼玛县| 塘沽区| 巩义市| 哈尔滨市| 宁强县| 嘉定区| 繁峙县| 顺平县| 白河县|