PHP でショッピング カート コードを実装 [再利用可能]_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:59:43
オリジナル
873 人が閲覧しました

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 つのテーブルがあります
//次に、クラスの関数を使用して何かを行うことができます
//これは簡単です
?> 

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631862.html技術記事 php购物车的代码 発行者:[longlong16] 時間:[2006-11-1] ? if(!$session!$scid){ $session=md5(uniqid(rand())); SetCookie(scid,$session,time()+14400); }/*最後の番号は期限切れです...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート