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>