ホームページ >バックエンド開発 >PHPチュートリアル >ショッピング カートのコード生成_PHP チュートリアル

ショッピング カートのコード生成_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:59:31846ブラウズ

ショッピングカートでコードを生成

/*
ネチズンのリクエストで、彼が送ったショッピングカートのコードを簡単に分析しました。困っている初心者に役立つことを願っています~
。 私も初心者なので、分析して説明するのは勉強することと同じです(笑)。 コードの説明と分析: Linvo 2008-2-15
*/

//ショッピングカートセッション生成コード

if(!$セッション && !$scid) {
/*
セッションは各ショッピング カートを区別するために使用され、各カートの ID 番号に相当します。 scid はショッピング カート ID 番号を識別するためにのみ使用され、各カートの名前と見なすことができます
; ショッピングカートのIDとセッション値の両方が存在しない場合、新しいショッピングカートが生成されます
*/
$session = md5(uniqid(rand())); /*
固有のショッピング カート セッション番号を生成します
rand() は最初に乱数を生成し、次に uniqid() が乱数に基づいて一意の文字列を生成し、最後に文字列に対して md5 を実行します
*/
SetCookie(scid, $session, time() + 14400); /*
このショッピングカートのクッキーを設定します
変数名: scid (ここに$記号がないのかな?)
変数値: $session
有効時間: 現在時刻 + 14400 秒 (4 時間以内)
setcookie関数の詳しい使い方はPHPマニュアルを参照してください~
*/
}


class Cart { //ショッピングカートクラスを開始します
関数 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 を返す;

/*

見つからない場合は 0 を返します
*/
} else {
$row = mysql_fetch_object($result);
return $row->quantity;
/*
見つかった場合、商品の数量は返却されます
mysql_fetch_object 関数 (以下で使用します) を説明する必要があります:
[mysql_fetch_object() は mysql_fetch_array() に似ていますが、1 つの違いがあります。配列ではなくオブジェクトを返します。 】
上記の文はphpマニュアルから抜粋したものですが、非常に明確であるはずです~
簡単に言うと、レコード内のフィールドを取得するには、配列のような添字を使用する代わりに「->」を使用する必要があります
*/
}
}

関数 add_item($table, $session, $product, $quantity) {
/*
新しい項目 (テーブル名、セッション、項目、数量) を追加します

*/

$qty = $this->check_item($table, $session, $product);
/*
上記の関数を呼び出して、まずこのタイプのアイテムが車に置かれているかどうかを確認します
*/

if($qty == 0) {
$query = INSERT INTO $table (セッション、製品、数量) 値 ;
$query .= ('$session', '$product', '$quantity') ;
mysql_query($query);
/*車内にそのようなアイテムがない場合は、まるでそこにあるかのように車に*/
} else {
$quantity += $qty // ある場合は、元の基準で数量を増やします
$query = UPDATE $table SET数量='$quantity' WHERE session='$session' AND ;
$query .= product='$product' ;
mysql_query($query);
/*
データベースを変更します
*/
}
}

関数 delete_item($table, $session, $product) {
/*
項目(テーブル名、セッション、項目)を削除します
*/
$query = DELETE FROM $table WHERE session='$session' AND product='$product' ;
mysql_query($query);
/*
                                                                                                                                                                       */
}

関数modify_quantity($table, $session, $product, $quantity) {

/*
アイテムの数量を変更します (テーブル名、セッション、アイテム、数量)
*/
$query = UPDATE $table SET数量='$quantity' WHERE session='$session' ;
$query .= AND product='$product' ;
mysql_query($query);
/*
アイテムの数量をパラメータの値に変更します
*/
}

関数clear_cart($table, $session) {

/*
ショッピングカートを空にします (何も言いません)
*/
$query = $table WHERE から削除 session='$session' ;
mysql_query($query);
}

関数 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 = 在庫から価格を選択 WHERE product='$row->product' ;
$invResult = mysql_query($query);
/*
在庫表からこの商品の価格を見つけてください
*/

$row_price = mysql_fetch_object($invResult);
$total += ($row_price->価格 * $row->数量);
/*
合計価格 += 商品の価格 * 商品の数量
(誰もがそれを理解できるはずです:))
*/
}

}
return $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[合計][$count] = ($row_inventory->価格 * $row->数量);
$contents[説明][$count] = $row_inventory->説明;
/*
アイテムに関するすべての詳細情報を $contents 配列に入れます
$contents は 2 次元配列です
添字の最初のグループは、各商品のさまざまな情報 (商品名、価格、数量など) を区別するためのものです
添え字の 2 番目のセットは、異なる項目を区別するためのものです (これは、前に定義した $count 変数の役割です)
*/
$ Count ++ // 項目の数に 1 を加えた値 (つまり、次の項目)
}
$total = $this->cart_total($table, $session); $contents[final] = $total;
/*
同時に、上記のcart_total関数を呼び出して合計価格を計算します
それを $contents 配列に入れます
*/

$contents を返す;

/*
返品されました
*/
}

関数 num_items($table, $session) {
/*
項目タイプの合計数を返します (つまり、2 つの同一の項目を 1 種類として数えるのはナンセンスのようです - -!)
*/
$query = SELECT * FROM $table WHERE session='$session' ;
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
戻り $num_rows;
/*
車内のアイテムをすべて取り出し、操作の影響を受けたデータベースの行数、つまりアイテムの総数を取得します (何も言うことはありません)
*/
}

関数 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)) {
/*
一つずつ取り出していきます
*/
$quant += $row->quantity; // アイテムの数量が合計数量に追加されます
}
return $quant // 合計金額を返します
}

}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631900.html技術記事ショッピングカートの生成コード/* ネチズンのリクエストに応じて、彼が送ったショッピングカートのコードを簡単に分析します。困っている初心者に役立つことを願っています〜私も初心者なので、分析と説明。 ..
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。