Posted in PHP onOctober 10, 2011
ShopCar.php
<?php class Shopcar { //商品列表 public $productList=array(); /** * * @param unknown_type $product 传进来的商品 * @return true 购物车里面没有该商品 */ public function checkProduct($product) { for($i=0;$i<count($this->productList);$i++ ) { if($this->productList[$i]['name']==$product['name']) return $i; } return -1; } //添加到购物车 public function add($product) { $i=$this->checkProduct($product); if($i==-1) array_push($this->productList,$product); else $this->productList[$i]['num']+=$product['num']; } //删除 public function delete($product) { $i=$this->checkProduct($product); if($i!=-1) array_splice($this->productList,$i,1); } //返回所有的商品的信息 public function show() { return $this->productList; } }
productList.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript" src='jquery.min.js'></script> <script type="text/javascript"> function buy(i) { var num=$(':input[name=num]')[i].value; var name=$('[name=name]')[i].innerHTML; var price=$('[name=price]')[i].innerHTML; alert(num+name+price); $.ajax({ type:'post', //传送的方式,get/post url:'index.php', //发送数据的地址 cache:'false', data:'num='+num+"&name="+name+"&price="+price, success:function(data) { alert(data); } }) } </script> </head> <body> <table> <tr><td>商品编号</td><td>商品名称</td><td>价格</td><td>数量</td><td>购买</td></tr> <tr><td>0</td><td><label name='name' >商品1</label></td><td><label name='price'>1</label> </td><td><input name='num' type='text' value='1' /></td><td><a onclick='buy(0)'><u><font color='blue'>购买</font></u></a></td></tr> <tr><td>1</td><td><label name='name' >商品2</label></td><td><label name='price'>2</label> </td><td><input name='num' type='text' value='1' /></td><td><a onclick='buy(1)'>购买</a></td></tr> <tr><td>2</td><td><label name='name' >商品3</label></td><td><label name='price'>1</label> </td><td><input name='num' type='text' value='1' /></td><td><a onclick='buy(2)'>购买</a></td></tr> <tr><td>3</td><td><label name='name' >商品4</label></td><td><label name='price'>1</label> </td><td><input name='num' type='text' value='1' /></td><td><a onclick='buy(3)'>购买</a></td></tr> <tr><a href='show.php'>查看购物车</a></tr> </table> </body> </html>
index.php
<?php require 'Shopcar.class.php'; session_start(); $name=$_POST['name']; $num=$_POST['num']; $price=$_POST['price']; $product=array('name'=>$name,'num'=>$num,'price'=>$price); print_r($product); if(isset($_SESSION['shopcar'])) $shopcar=unserialize($_SESSION['shopcar']); else $shopcar=new Shopcar(); $shopcar->add($product); $_SESSION['shopcar']=serialize($shopcar);
show.php
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <table> <tr><td>商品编号</td><td>商品名称</td><td>价格</td><td>数量</td></tr> <?php require 'Shopcar.class.php'; session_start(); $shopcar=unserialize($_SESSION['shopcar']); print_r($shopcar); $productList=$shopcar->productList; foreach ($productList as $product){ ?> <tr><td>1</td><td><label ><?php echo $product['name']?></label></td><td><label name='price'><?php echo $product['price']?></label> </td><td><input name='num' type='text' value='<?php echo $product['num']?>' /></td></tr> <?php }?> </table> </body> </html>
php购物车实现代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@