ショッピング カートの数量は、何かを購入するときにいつでもアイテムを削除したり追加したりできることを意味します。そのため、ショッピング カートのレコードを更新する必要があります。ここで、PHP ショッピング カートでショッピング カートの数量を更新する手順と理由を紹介します。 . フレンズについて知りたい人は参考にしてください。
フォーム部分:
PHP処理部分:
コードは次のとおりです |
コードをコピー |
「config.inc.php」が必要;
「checklogin.php」が必要;
$ユーザー名 = $_SESSION['ユーザー名'];
$アクション = $_GET['アクション'];
スイッチ ($action) {
ケース「edit_num」:
$arr = $arr = $_POST['suliang'];
foreach($arr as $key=>$value){
$sqlgx = "更新 `cartemp` set suliang='$value' where username='".$username."' and flag=0 and sp_id='".$key."'";
mysql_query($sqlgx, $conn);
echo "<script>location.href='shopcat.php'</script>";
}
休憩;
ケース「null」:
$null_sql = "username='$username' および flag=0 の `cartemp` から削除します ";
mysql_query($null_sql, $conn);
echo "<script>location.href='shopcat.php'</script>";
休憩;
ケース「デル」:
$id = $_GET['id'];
$del_sql = "id=$id の `cartemp` から削除";
mysql_query($del_sql, $conn);
echo "<script>location.href='shopcat.php'</script>";
休憩;
}
?>
|
上記はすべてデータベースを使用して操作します。ここに完全なクラスがあります
コードは次のとおりです |
コードをコピー |
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($クエリ);
/*
アイテムの数量をパラメータの値に変更します
*/
}
関数 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.com/PHPjc/630715.html
www.bkjia.com本当http://www.bkjia.com/PHPjc/630715.html
技術記事ショッピング カートの数は、何かを購入するときにいつでもアイテムを削除したり追加したりできることを意味します。このようにして、PHP ショッピング カートの購入レコードを更新する必要があります...。