//ショッピングカートセッション生成コード
if(! $session && ! $scid) {
/*
セッションは各ショッピングカートを区別するために使用され、各カートの ID 番号に相当します。 🎜>scid はショッピング カート ID 番号を識別するためにのみ使用され、各カートの名前と見なすことができます。
ショッピング カートの ID とセッション値の両方が存在しない場合、新しいショッピング カートが生成されます
*/
$session = md5(uniqid(rand()));
/*
一意のショッピング カート セッション番号を生成します
rand() は最初に乱数 uniqid() を生成します次に、乱数に基づいて一意の文字列を生成し、最後に文字列
*/
SetCookie(scid, $session, time() 14400); に対して md5 を実行します。
/*
ショッピングを設定します。カートクッキー
変数名:scid (ここに$記号が抜けているのかな? =》訂正:scidに「"を追加)
変数値:$session
有効時間:現在時刻は14400です秒 (4 時間以内)
setcookie 関数の詳細な使用方法については、php マニュアルを参照してください~
*/
}
class Cart { //ショッピング カートの開始 class
function check_item ( $table, $session, $product) {
/*
チェック項目(テーブル名、セッション、項目)
*/
$query = SELECT * FROM $table WHERE session= ' $ session' AND product=' $product' ;
/*
「テーブル」を見て、「ショッピング カート」に「製品」があるかどうかを確認します
つまり、製品が配置されました カートに追加
*/
$result = mysql_query( $query);
if(! $result) {
return 0;
}
/*
Query失敗しました
*/
$numRows = mysql_num_rows( $result);
if( $numRows == 0) {
return
/*
見つからない場合は 0 を返します
*/
} else {
$row = mysql_fetch_object( $result);
return $row->quantity;
/*
見つかった場合は、その数量を返します。 item
mysql_fetch_object 関数 (以下で使用します) を説明する必要があります:
[mysql_fetch_object() は mysql_fetch_array() に似ていますが、1 つの違いがあります。配列の代わりにオブジェクトを返します。]
上記の文は PHP マニュアルから引用したものですが、非常にわかりやすいはずです~
簡単に言うと、レコード内の特定のフィールドを取得するには、次のように使用するのではなく、「->」を使用する必要があります。配列。添字
*/
}
}
function add_item( $table, $session, $product, $quantity) {
/*
新しい項目を追加します (テーブル名) , session , item, amount)
*/
$qty = $this->check_item( $table, $session, $product);
/*
上記の関数を呼び出して、 class first アイテムは車に置かれていますか?
*/
if( $qty == 0) {
$query = INSERT INTO $table (session, product, amount) VALUES ; $query . = (' $session', ' $product', ' $quantity') ;
mysql_query( $query); *車にない場合はアイテムを追加します* /
} else {
$quantity = $qty; //はいの場合、元の基準で数量を増やします
$query = UPDATE $table SETquantity=' $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)
/*
ショッピング カート内のこのタイプのアイテムを削除します
*/
}
functionmodify_quantity( $ table, $session, $product, $quantity) {
/*
品目の数量を変更 (テーブル名、セッション、品目、数量)
*/
$query = UPDATE $table SETquantity= ' $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)) {
/*
商品数 > 0 の場合、価格を 1 つずつ判断して計算します
*/
$query = SELECT 価格 FROM 在庫 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);最初にカート
*/
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-> ;価格;
$contents[数量][ $count] = $row->数量;
$contents[合計][ $count] = ( $row_inventory->価格 * $row ->数量);
$contents[description][ $count] = $row_inventory->description;
/*
アイテムに関するすべての詳細情報を $contents 配列に入れます
$contents は2 次元配列
添字の最初のセットは、各商品に関するさまざまな情報 (商品名、価格、数量など) を区別します。
添字の 2 セット目は、さまざまな商品を区別します (これは、 $count 変数は前に定義したものです)
*/
$count ; //アイテムの数に 1 を加えたもの (つまり、次のアイテム)
}
$total = $this->cart_total( $table , $session);
$contents[final] = $total;
/*
同時に、上記の cart_total 関数を呼び出して合計金額を計算し、それを $contents に入れます。 array
*/
return $contents;
/*
配列
*/
}
function num_items( $table, $session) {
/ *
項目タイプの合計数を返します (つまり、2 つの同一の項目を 1 つとして数えるのはナンセンスです - -!)
*/
$query = SELECT * FROM $table WHERE session=' $セッション' ;
$result = mysql_query( $query);
$num_rows = mysql_num_rows( $result);
車の中のアイテムをすべて取り出します操作の結果を取得します データベースの行数、つまりアイテムの総数 (何も言うことはありません)
*/
}
function quant_items( $table, $session) {
/*
すべてのアイテムの合計数を返します (つまり、2 つの同一のものも 2 つのアイテムとしてカウントされます - #)
*/
$quant = 0;//アイテムの合計数量
$query = SELECT * FROM $table WHERE session=' $session ' ;
$result = mysql_query( $query);
while( $row = mysql_fetch_object( $result)) {
/ *
各アイテムを 1 つずつ取得します
*/
$quant = $row->quantity; //アイテムの数量が合計数量に追加されます
}
return $ quant; // 合計数量を返します
}
}