程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP購物車類

PHP購物車類

編輯:關於PHP編程

       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

      {

      /*

      實現COOKIES購物車

      @type 產品類型

      @id 產品編號

      COOKIES的結果為 type1:3,45,23|type2:34,234,34|type3:344,124

      */

      function cartAdd(type,id)

      {

      //如果第一次使用,則重新設置COOKIES

      if(!isset(_COOKIE["cart"]))

      {

      setcookie("cart",type.":".id);

      }

      else

      {

      //如果不是第一次,則先取出來

      cartStr=_COOKIE["cart"];

      //把結果分開

      cartarray=split("|",cartStr);

      //用於判斷類型是否存在,初始不存在,為零

      istype=0;

      //產品編號列表

      id_list;

      //循環產品

      for (i=0;i

      {

      //獲取產品名和產品編號列表

      list(carttype,product)=split(":",cartarray[i]);

      //如果已經存在的產品與要保存的相如,把isType改為1,說明產品已經存在

      if (type==carttype)

      {

      istype=1;

      //獲取產品的編號列表

      id_list=product;

      //中斷循環

      break ;

      }

      }

      //如果產品不存在

      if(istype==0)

      {

      //往COOKIES裡面加入新產品和產品的編吃

      cartStr=cartStr."|".type.":".id;

      }

      else

      {

      //把產品列表分開成數組

      id_list=split(",",id_list);

      //標識產口編號是否存在,初始不存在

      isId=0;

      //循環產品編號

      for(i=0;i

      {

      //如果要保存的產品編號已尼存在

      if(id==id_list[i])

      {

      //標識已存在.退出循環

      isId=1;

      break;

      }

      }

      //這裡只做產品類型和產品編號,所以相同的不加數量,直接不外理

      //如果相關類型的產品編號不存在,則加上新的編號

      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 ;

      }

      //返回相應的產品列表

      /*

      @type產品類型

      */

      function getProInfo(type)

      {

      //獲取購物車COOKIES

      cartStr=_COOKIE["cart"];

      //匹配COOKIES字符,獲取產品列表

      preg_str=type.":((d+),)*(d+)";

      //echo "
    ";

      preg_match("/".preg_str."/",cartStr,proStr);

      //echo proStr[0];

      //exit();

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

      return product;

      //pro_list=split(",",product);

      //返回產品列表

      //return pro_list;

      // print_r(pro_list);

      }

      /*

      *刪除產品

      *@type產品類型名

      *@id 產品編號

      */

      function delProInfo(type,id)

      {

      //獲取購物車COOKIES

      cartStr=_COOKIE["cart"];

      //匹配COOKIES字符,獲取產品列表

      preg_str=type.":((d+),)*(d+)";

      //echo "
    ";

      preg_match("/".preg_str."/i",cartStr,proStr);

      //只有能找到要刪除的類型,才進行下面操做

      if(proStr)

      {

      //查詢刪除的類型裡面是否有要刪除的ID

      isproId=strstr(proStr[0],id);

      //如果有,才進行下面操作

      if(isproId)

      {

      //更新後的產品字符串

      upproStr;

      //更新後的所有最新的產品COOKIES字符

      newCartStr;

      //查詢要刪除的產品是否有多個

      preg_match("/,/",proStr[0],isend);

      //如果有,進行下面操作

      if(isend)

      {

      //查詢要刪除的產品後面是否還有產品

      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);

      }

      //如果沒有多個,則直接刪除該類產品

      else

      {

      //判斷該類產品後面還有沒有產品

      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);

      }

      }

      ?>

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved