function check_items($tables, $session, $product)//查看购物车里的商品数量 { $query = "SELECT * FROM $table WHERE session='$session' AND product='$product' "; $result = mysql_query($query);
if(0 == $qty) { $query = "INSERT INTO $table (session, product, quantity) VALUES "; $query .= "('$session', '$product', '$quantity') "; mysql_query($query) or die(mysql_error()); } else { $quantity += $qty; $query = "UPDATE $table SET quantity='$quantity' WHERE session='$session' AND "; $query .= "product='$product' "; mysql_query($query) or die(mysql_error()); } }
function delete_items($table, $session, $product)//删除商品 { $query = "DELETE FROM $table WHERE session='$session' AND product='$product' "; mysql_query($query) or die(mysql_error()); }
function modify_quantity($table, $session, $product, $quantity))//修改商品数量 { $query = "UPDATE $table SET quantity='$quantity' WHERE session='$session' "; $query .= "AND product='$product' "; mysql_query($query); }
function clear_cart($table, $session)//清除购物车中的商品 { $query = "DELETE FROM $table WHERE session='$session' "; mysql_query($query) or die(mysql_error()); }
function cart_total($table, $session)//统计购物车里的商品价格 { $query = "SELECT * FROM $table WHERE session='$session' ";
function display_contents($table, $session)//显示订单内容 { $count = 0; $query = "SELECT * FROM $table WHERE session='$session' ORDER BY id "; $result = mysql_query($query) or die(mysql_error());
<?
//author:bombshell
//date:2003-01-01
//email:[email protected]
//欢迎大家完善拓展,但请保留版权。
//如果您有完善、拓展请发一份到我的信箱,谢谢!
define("_CART_INC","exists");
//借阅车类
class BCart
{
var $SortCount;//书的种类数
var $TotalCost;//书总价值
var $Id = Array();//书的唯一编号(数组)
var $DelId = Array();//要删除的id号(数组)
var $Bcount = Array(); //数量(数组)
var $Price = Array();//书的单价(数组)
// var $LastId = Array();//最后一个加到购物车中的物品id
/*--构造函数--*/
function BCart()
{
$this->SortCount = 0;
session_start();//初始化一个session
$this->Update();
$this->Calculate();
}
/*--根据session的值更新类中的响应数据--*/
function Update()
{
if(!isset($_SESSION['sId']) or !isset($_SESSION['sBcount']) or !isset($_SESSION['sPrice']))
return;
$this->Id = $_SESSION['sId'];
$this->Bcount = $_SESSION['sBcount'];
$this->Price = $_SESSION['sPrice'];
$this->SortCount = count($_SESSION['sId']);
//$this->DelId = $_SESSION['sDelId'];}
/*--计算书的总价值--*/
function Calculate()
{
for($i=0;$i<$this->SortCount;$i++)
{
$this->TotalCost += sprintf("%0.2f",$this->Price[$i] * $this->Bcount[$i]);
}
}
/*--加一件商品--*/
/*用户数据接口,记录商品的ID和数量*/
function Add($a_Id,$a_Count,$a_Price)
{
$k = count($_SESSION['sId']);
for($i=0;$i<$k;$i++)
{
//检查是否已经加入了该书
if($_SESSION['sId'][$i] == $a_Id)
{
$_SESSION['sBcount'][$i] += $a_Count;
break;
}
}
if($i >= $k)
{
//如果没有则加入该书
$_SESSION['sId'][] = $a_Id;
$_SESSION['sBcount'][] = $a_Count;
$_SESSION['sPrice'][] = $a_Price;
} $this->Update(); //更新一下类成员数据
$this->Calculate();
}
/*--删除一本书--*/
function Remove($a_id)
{
for($i=0; $i < count($_SESSION['sId']); $i++)
{
if($_SESSION['sId'][$i] == $a_id)
{
$_SESSION['sId'][$i] = 0;
$_SESSION['sBcount'][$i] = 0;
$_SESSION['sPrice'][$i] = 0;
break;
}
}$this->Update();
$this->Calculate();
return true;
}
/*--记录选中要删除的书--*/
function Reg_Selected($a_DelId)
{
$k = count($_SESSION['sDelId']);
$_SESSION['sDelId'][$k] = $a_DelId;
}/*--删除选中的书--*/
function Del_Selected()
{
$j = count($_SESSION['sDelId']);
for($i=0;$i<$j;$i++)
{
for($x=0;$x<count($_SESSION['sId']);$x++)
{
if($_SESSION['sDelId'][$i] == $_SESSION['sId'][$x])
{
$_SESSION['sId'][$x] = 0;
$_SESSION['sBcount'][$i] = 0;
$_SESSION['sPrice'][$i] = 0;
}
}
}
unset($_SESSION['sDelId']);
$this->Update();
$this->Calculate();
return true;
}/*--改变书的数量--*/
function ModifyCount($a_i,$a_Count)
{
$_SESSION['sBcount'][$a_i] = $a_Count;
$this->Update();
$this->Calculate();
return true;
}/*--清空所有书目--*/
function RemoveAll()
{
unset($_SESSION['sId']);
unset($_SESSION['sBcount']);
unset($_SESSION['sPrice']);
$this->SortCount = 0;
$this->TotalCost = 0 ;
}
/*--访问每本书的数量--*/
function vist_count($i)
{
return $this->Bcount[$i];
}
/*--判断该书是否已经存在--*/
function Exists($a_id)
{
for($i=0; $i<$this->SortCount; $i++)
{
if($this->Id[$i]==$a_id)
return TRUE;
}
return FALSE;
}
/*--得到书在篮内的位置--*/
function IndexOf()
{
for($i=0; $i<$this->SortCount; $i++)
{
if($this->Id[$i]==$id)
return $i;
}
return 0;
}
/*--取一本书的ID--*/
function Item($i)
{
//return $this->Id[$i];
$_result['id'] = $this->Id[$i];
$_result['bcount'] = $this->Bcount[$i];
$_result['price'] = $this->Price[$i];
return $_result;
}
//取出书的种类数
function CartCount()
{
return $this->SortCount;
}
//得到一种书的数量
function ShowBcount()
{
$k = count($_SESSION['sBcount']);
return $_SESSION['sBcount'][$k-1];
}
//的到书的总价值
function GetTotalCost()
{
return $this->TotalCost;
}}
?>
<?php
class cart
{
function cart() //初始化cart
{
}
function check_items($tables, $session, $product)//查看购物车里的商品数量
{
$query = "SELECT * FROM $table WHERE session='$session' AND product='$product' ";
$result = mysql_query($query);
if(!$result)
return 0;
$numRows = mysql_num_rows($result);
if(0 == $numRows)
return 0;
else
{
$row = mysql_fetch_object($result);
return $row->quantity;
}
}
function add_items($table, $session, $product, $quantity)//添加商品
{
$qty = $this->check_item($table, $session, $product);
if(0 == $qty)
{
$query = "INSERT INTO $table (session, product, quantity) VALUES ";
$query .= "('$session', '$product', '$quantity') ";
mysql_query($query) or die(mysql_error());
}
else
{
$quantity += $qty;
$query = "UPDATE $table SET quantity='$quantity' WHERE session='$session' AND ";
$query .= "product='$product' ";
mysql_query($query) or die(mysql_error());
}
}
function delete_items($table, $session, $product)//删除商品
{
$query = "DELETE FROM $table WHERE session='$session' AND product='$product' ";
mysql_query($query) or die(mysql_error());
}
function modify_quantity($table, $session, $product, $quantity))//修改商品数量
{
$query = "UPDATE $table SET quantity='$quantity' WHERE session='$session' ";
$query .= "AND product='$product' ";
mysql_query($query);
}
function clear_cart($table, $session)//清除购物车中的商品
{
$query = "DELETE FROM $table WHERE session='$session' ";
mysql_query($query) or die(mysql_error());
}
function cart_total($table, $session)//统计购物车里的商品价格
{
$query = "SELECT * FROM $table WHERE session='$session' ";
$result = mysql_query($query);
if(mysql_num_rows($result) > 0)
{
while($row = mysql_fetch_object($result))
{
$query = "SELECT price FROM inventory WHERE product='$row->product' ";
$invResult = mysql_query($query);
$row_price = mysql_fetch_object($invResult);
$total += ($row_price->price * $row->quantity);
}
}
return $total;
}
function display_contents($table, $session)//显示订单内容
{
$count = 0;
$query = "SELECT * FROM $table WHERE session='$session' ORDER BY id ";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_object($result))
{
$query = "SELECT * FROM inventory WHERE product='$row->product' ";
$result_inv = mysql_query($query);
$row_inventory = mysql_fetch_object($result_inv);
$contents["product"][$count] = $row_inventory->product;
$contents["price"][$count] = $row_inventory->price;
$contents["quantity"][$count] = $row->quantity;
$contents["total"][$count] = ($row_inventory->price * $row->quantity);
$contents["description"][$count] = $row_inventory->description;
$count++;
}
$total = $this->cart_total($table, $session);
$contents["final"] = $total;
return $contents;
}
function num_items() //分类的数量
{
$query = "SELECT * FROM $table WHERE session='$session' ";
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
return $num_rows;
}
function quant_items()//显示订单里的商品情况
{
$quant = 0;
$query = "SELECT * FROM $table WHERE session='$session' ";
$result = mysql_query($query);
while($row = mysql_fetch_object($result))
{
$quant += $row->quantity;
}
return $quant;
}
}
?>