mudah-mudahan bermanfaat
semaleman ngak tidur bwt ngulik ini class
classcart ini bisa menggunakan session
atau cookies sebagai media penyimpanannya
dibuat untuk dapat digunakan secara fleksibel
misal :pemisah data antar produk dan jumlah dapat disesuaikan
dengan applikasi yang telah anda bangun, nama data simpanan dapat juga disesuaikan
coba dulu deh
jangan lupa kirim koment ya!
<?php session_start(); /* cart dengan session atau cookies penulis bageer83[Gunawan Setiawan] 20080718 4:47 jika ada koreksi silahkan hubungi bageer83@yahoo.co.id */ class cart{ var $p1=";";/*partisi per produk*/ var $p2=":";/*partisi produk dan jumlah*/ var $n="";/*nama paket data*/ var $t="";/*tipe paket s:session;c:cookies*/ var $rt="";/*real time data*/ var $ia=0;/*init act a()*/ /*vr() virtual data;*/ function cart($n,$t="s"){$this->n=$n;$this->t=$t;} function a($p,$q){ $this->ia=1; $c=$this->vr(); if($this->ck($p)==true){ $v="";$c2=split($this->p1,$c); foreach($c2 as $c3){ $c4=split($this->p2,$c3); $d=$v!=""?$this->p1:""; if($c4[0]==$p){if($q>0){$v.=$d.$c4[0].$this->p2.$q;} }else{$v.=$d.$c4[0].$this->p2.$c4[1];} } }elseif(($this->ck($p)==false)&&($q>0)){ $d=$c!=""?$this->p1:"";if($q>0){$v=$c.$d.$p.$this->p2.$q;} }else{$v=$c;} $this->rt=$v; $this->s($v); } function clr(){$this->ia=1;$this->rt="";$this->s("");} function ck($p){ $c=$this->vr();$c2=split($this->p1,$c); foreach($c2 as $c3){$c4=split($this->p2,$c3);if($c4[0]==$p){return true;}} return false; } function s($v){ if($v!=""){ if($this->t=="s"){$_SESSION[$this->n]=$v;} elseif($this->t=="c"){setcookie($this->n,$v,time()+3600);} }else{ if($this->t=="s"){$_SESSION[$this->n]="";} elseif($this->t=="c"){setcookie($this->n,"",time()-3600);} } } function vr(){ if($this->t=="s"){return $_SESSION[$this->n];} else if($this->t=="c"){return $_COOKIE[$this->n];} } function g(){return $this->ia==1?$this->rt:$this->vr();} } $b=new cart("cart","c"); $b->a("p003",1); //$b->clr(); echo $b->g(); /* add $b->a("p001",1); update $b->a("p001",2); move $b->a("p001",0); clear $b->clr(); */ ?> |
bg83