この記事は、php+mysql に基づいたインターネットのショッピング カート コードです。必要な学生は、以下のショッピング カートの方法も参照してください。コードは利用できません。
コードは次のとおりです | コードをコピー |
シンプルでわかりやすい。 Cookie にはショッピング カート ID が保存され、db にはショッピング カート データが保存されます。 //ショッピングカートセッション生成コード if(! $session && ! $scid) { /* セッションは各ショッピング カートを区別するために使用され、各カートの ID 番号に相当します。 scid はショッピング カート ID 番号を識別するためにのみ使用され、各カートの名前と見なすことができます ; ショッピングカートのIDとセッション値の両方が存在しない場合、新しいショッピングカートが生成されます */ $session = md5(uniqid(rand())); /* 固有のショッピング カート セッション番号を生成します rand() は最初に乱数を生成し、次に uniqid() が乱数に基づいて一意の文字列を生成し、最後に文字列に対して md5 を実行します */ SetCookie(scid, $session, time() + 14400); /* このショッピングカートのクッキーを設定します 変数名: scid ($記号が抜けているのかな? =》訂正: 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 を返します */ } その他 { $row = mysql_fetch_object($result); $row->数量を返します /* 見つかった場合は、商品数量を返却してください mysql_fetch_object 関数 (以下で使用します) を説明する必要があります: [mysql_fetch_object() は mysql_fetch_array() に似ていますが、配列の代わりにオブジェクトを返すという 1 つの違いがあります。 】 上記の文はPHPマニュアルから抜粋したものですが、非常に明確であるはずです〜 簡単に言うと、レコード内の特定のフィールドを取得するには、配列のような添字を使用する代わりに「->」を使用する必要があります */ } } function add_item($table, $session, $product, $quantity) { /* 新しい項目を追加します (テーブル名、セッション、項目、数量) */ $qty = $this->check_item($table, $session, $product); /* 上記の関数を呼び出して、まずアイテムが車に置かれているかどうかを確認します */ if( $qty == 0) { $query = INSERT INTO $table (セッション、製品、数量) の値 ; $query .= (' $セッション', ' $製品', ' $数量') ; mysql_query($クエリ); /*そのようなアイテムが車にない場合は、車にアイテムを追加してください*/ } その他 { $quantity += $qty // ある場合は、元の基準で数量を増やします $query = UPDATE $table SET数量=' $quantity' WHERE session=' $session' AND ; $クエリ .= 製品=' $製品' ; mysql_query($クエリ); /* そしてデータベースを変更します */ } } function delete_item($table, $session, $product) { /* 項目 (テーブル名、セッション、項目) を削除します */ $query = $table WHERE から削除 session=' $session' AND product=' $product' ; mysql_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($クエリ); } 関数 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) { /* 車のあらゆるものに関する詳細情報を取得します */ $カウント = 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[製品][ $count] = $row_inventory->製品 $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[最終] = $total ; /* 同時に、上記の cart_total 関数を呼び出して合計価格を計算します そしてそれを $contents 配列に入れます */ $content を返す /* この配列を返します */ } function num_items( $table, $session) { /* アイテムタイプの合計数を返します (つまり、2 つの同じアイテムが 1 つのタイプとしてカウントされます。ナンセンスのようです - -!) */ $query = SELECT * FROM $table WHERE session=' $session' ; $result = mysql_query($query); $num_rows = mysql_num_rows( $result); $num_行を返します /* 車内にあるすべてのアイテムを取り出し、操作の影響を受けたデータベースの行数、つまりアイテムの総数を取得します (何も言うことはありません) */ } 関数 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 // 合計金額を返します } } ショッピングカートの内容は以下の通りです http://www.bKjia.c0m/phper/22/33260.htm http://www.bKjia.c0m/phper/php/40196.htm http://www.bKjia.c0m/phper/php-gj/35504.htm http://www.bKjia.c0m/phper/php-gj/34552.htm http://www.bKjia.c0m/phper/22/33260.htm http://www.bKjia.c0m/phper/php-gj/33948.htm http://www.bKjia.c0m/phper/php-gj/39684.htm |
www.bkjia.com
true
http://www.bkjia.com/PHPjc/631642.html