php面向对象--实现购物车类(session)

首先需要有购物车类:
<?php
class car
{
	function car()
	{
		@session_start();//开启session
	}
	function addItem( $key,$object )
	{
		$_SESSION['list'][$key] = $object;//增加
	}
	function getItem()
	{
		return $_SESSION['list'];//获取购物车的信息
	}
	function rmItem( $key )
	{
		unset( $_SESSION['list'][$key] );//清除物品
	}
}	

然后创建一个产品类:

<?php
class products
{
	function products()
	{
		@session_start();	
	}

	function addProducts( $key,$name,$price,$pic )
	{
		$data = array(
			"name"=>$name,
			"price"=>$price,
			"pic"=>$pic,
		);
		$_SESSION['products'][$key] = $data;
	}


	function getProducts()
	{
		return $_SESSION['products'];
	}
}


对购物车物品的增加:

<?php
error_reporting(0);//清除warning 和notice
@session_start();
include 'car.class.php';
$key = $_GET['key'];
$book = $_SESSION['products'][$key];
//print_r( $data );
$car = new car();
if( $book )
{
	$car -> addItem( $key,$book );
}
$data = $car->getItem();
echo "<table style='font-size:11px;font-family:verdana;width:550px;text-align:center;padding:10px;'>";
$total = 0;
foreach( $data as $key=>$rs)
{
	echo "<tr>";
	echo "<td style='border-bottom:2px solid #ccc;'><img src='".$rs['pic']."' height='96px' width='94px' /></td>";//物品图片
	echo "<td style='border-bottom:2px solid #ccc;'>".htmlspecialchars($rs['name'])."</td>";//物品名
	echo "<td style='border-bottom:2px solid #ccc;'>".$rs['price']."</td>";//价格
	echo "<td style='border-bottom:2px solid #ccc;'><a href='rm.php?key=$key'>Remove</a></td>";//清除按钮
	echo "</tr>";
	$total += $rs['price'];//总价显示
}
echo "<tr><td style='color:red;font-weight:bold;'>Total Money:</td><td>-</td><td style='color:blue;font-weight:bold;'>{$total}</td><td><a href='index.php'>back to add</a></td></tr>";
echo "</table>";

index.php可自行操作。

购物车的物品增加由于数量无设置,所以最多达到所有物品全存在。金钱等于全部总和,再次增加也不会有任何变化




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕斯先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值