php购物车的代码
発行者:[longlong16] 期間:[2006-11-1]
if(!$session && !$scid) {
$session = md5(uniqid(rand()));
SetCookie(scid, $session, time() + 14400);
} /* 最後の数字 は 秒単位の 有効期限 です、 14400 秒 = 4 時間 */
クラス カート {
function check_item($table, $session, $product) {
$query = SELECT * FROM $table WHERE session='$session' AND product='$product' ;
$result = mysql_query($query);
if(!$result) {
0 を返します。
}
$numRows = mysql_num_rows($result);
if($numRows == 0) {
0 を返します。
} その他 {
$row = mysql_fetch_object($result);
$row->数量を返します。
}
}
function add_item($table, $session, $product, $quantity) {
$qty = $this->check_item($table, $session, $product);
if($qty == 0) {
$query = INSERT INTO $table (セッション、製品、数量) VALUES ;
$query .= ('$session', '$product', '$quantity') ;
mysql_query($query);
} その他 {
$数量 += $数量;
$query = UPDATE $table SET quantity='$quantity' WHERE session='$session' AND ;
$query .= product='$product' ;
mysql_query($query);
}
}
function delete_item($table, $session, $product) {
$query = DELETE FROM $table WHERE session='$session' AND product='$product' ;
mysql_query($query);
}
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);
}
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->価格 * $row->数量);
}
}
$total を返します。
}
関数 display_contents($table, $session) {
$count = 0;
$query = SELECT * FROM $table WHERE session='$session' ORDER BY id ;
$result = mysql_query($query);
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[価格][$count] = $row_inventory->価格;
$contents[数量][$count] = $row->数量;
$contents[total][$count] = ($row_inventory->価格 * $row->数量);
$contents[description][$count] = $row_inventory->description;
$count++;
}
$total = $this->cart_total($table, $session);
$contents[final] = $total;
$content を返します。
}
function num_items($table, $session) {
$query = SELECT * FROM $table WHERE session='$session' ;
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
$num_rows を返します;
}
function quant_items($table, $session) {
$quant = 0;
$query = SELECT * FROM $table WHERE session='$session' ;
$result = mysql_query($query);
while($row = mysql_fetch_object($result)) {
$quant += $row->数量;
}
$quant を返します。
}
}
?>
/*
この部分には、mysql サーバー上にテーブルを作成する方法の説明が含まれています。
# MySQL ダンプ 6.0
#
# ホスト: localhost データベース: kmartShopper
#------------------------------------------------ -------
# サーバーバージョン 3.22.25
#
# テーブル「インベントリ」のテーブル構造
#
CREATE TABLE インベントリ (
製品の小さなテキストは NULL ではありません、
数量の小さなテキストは NULL ではありません、
id int(4) DEFAULT '0' NOT NULL auto_increment,
description tinytext NOT NULL,
価格 float(10,2) デフォルト '0.00' NOT NULL、
category char(1) DEFAULT ' NOT NULL,
KEY id (id)、
主キー(ID)、
KEY 価格 (価格)
);
#
# テーブル「ショッピング」のテーブル構造
#
CREATE TABLE ショッピング (
セッションの小さなテキストは NULL ではありません、
製品の小さなテキストは NULL ではありません、
数量の小さなテキストは NULL ではありません、
カードの小さなテキストは NULL ではありません、
id int(4) DEFAULT '0' NOT NULL auto_increment,
KEY id (id)、
主キー (ID)
);
*/
例
include(shoppingcart.php);
$cart = 新しい カート;
$mysql_link = mysql_connect(localhost, wwwrun, );
$mysql_select_db(kmartShopper, $mysql_link) kmartShopper の代わりに 2 つのテーブルがあります
//次に、クラスの関数を使用して何かを行うことができます
//これは簡単です
?>