特定のセッションのセッション変数を更新する方法

Commongrate

したがって、特定のセッション変数の数量を更新する必要があるカートシステムがあります。今、ID = 1のアイテムがある場合、

![ここに画像の説明を入力してください

id = 1の別のアイテムを追加すると、数量が2に更新されます。

ここに画像の説明を入力してください

、それは大丈夫です。しかし、id = 2のアイテムを追加すると

ここに画像の説明を入力してください

また、id = 1の別のアイテムを追加すると、id = 2の数量が2に更新されます。

ここに画像の説明を入力してください

id = 1から3の数量を更新する必要がある場合

ここに画像の説明を入力してください

これが私のコードです:

$exists = false;
foreach ($_SESSION['cart'] as $key => $item) {
    if ($item['product_id'] == $part_id) {
        $exists = true;
    }
}
if ($exists == true) {
    $_SESSION["cart"][$key]['quantity']++;
}
else{
$_SESSION['cart'][] = array(
    'product_id' => $part_id,
    'title' => $title,
    'price' => $price,
    'default_img' => $default_img,
    'quantity' => $quantity);
}
ニック

ループの最後で、を更新すると$_SESSION["cart"][$key]['quantity']$keyは常にの最後の項目を指している$_SESSION["cart"]ため、表示されている動作になります。ループ内で更新を行う必要があります。

foreach ($_SESSION['cart'] as $key => $item) {
    if ($item['product_id'] == $part_id) {
        $exists = true;
        $_SESSION["cart"][$key]['quantity']++;
    }
}

または、一致するもの$key見つかったらループから抜けて、正しい値を指しているようにします。

foreach ($_SESSION['cart'] as $key => $item) {
    if ($item['product_id'] == $part_id) {
        $exists = true;
        break;
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Railsの複数行セッションを更新する方法

分類Dev

セッション変数を管理するための方法論

分類Dev

PHPのセッション変数を更新します

分類Dev

変更時にPHPセッション変数を更新する

分類Dev

ActiveAdminでCanCanのセッション変数を使用する

分類Dev

CakephpでセッションCookieの値を変更する方法

分類Dev

単一の特定のセッション変数を削除しない方法は?

分類Dev

JAVAの現在のセッションを無効にせずにセッションIDを変更する方法

分類Dev

単一変数の有効期限セッションを設定する方法

分類Dev

PHPのセッション変数にデータを追加する方法は?

分類Dev

1つのセッションが更新されたときに、異なるセッション変数が値を変更するのはなぜですか?

分類Dev

ExpressJSで複数のセッションを管理する方法

分類Dev

特定のユーザーセッションをフラッシュする方法

分類Dev

DjangoSessionWizardViewでセッション変数を再初期化する方法

分類Dev

jstlでセッション変数を削除する方法

分類Dev

セッションに変数を格納する方法は?

分類Dev

jspでセッション変数を設定する方法

分類Dev

NodeJSでMySQL @セッション変数を使用する方法は?

分類Dev

関数からgocqlのセッション変数を返す

分類Dev

ServletRequestのセッション変数

分類Dev

セッション変数の設定

分類Dev

PHPセッション変数の寿命

分類Dev

特定のtmuxセッションをターゲットにする方法

分類Dev

bashの引数に特定のオプションセットを設定する

分類Dev

以前のテストからセッションを取得し、URLパスの一部としてセッション変数を挿入する方法

分類Dev

あるセッション変数を変更すると、別のセッション変数も変更されるのはなぜですか?

分類Dev

セッション値の一部のみを更新する方法CODEIGNITER

分類Dev

特定の条件で1つのセッションに値を格納する方法

分類Dev

NodeJS-特定のルートのセッションを無効にする方法

Related 関連記事

  1. 1

    Railsの複数行セッションを更新する方法

  2. 2

    セッション変数を管理するための方法論

  3. 3

    PHPのセッション変数を更新します

  4. 4

    変更時にPHPセッション変数を更新する

  5. 5

    ActiveAdminでCanCanのセッション変数を使用する

  6. 6

    CakephpでセッションCookieの値を変更する方法

  7. 7

    単一の特定のセッション変数を削除しない方法は?

  8. 8

    JAVAの現在のセッションを無効にせずにセッションIDを変更する方法

  9. 9

    単一変数の有効期限セッションを設定する方法

  10. 10

    PHPのセッション変数にデータを追加する方法は?

  11. 11

    1つのセッションが更新されたときに、異なるセッション変数が値を変更するのはなぜですか?

  12. 12

    ExpressJSで複数のセッションを管理する方法

  13. 13

    特定のユーザーセッションをフラッシュする方法

  14. 14

    DjangoSessionWizardViewでセッション変数を再初期化する方法

  15. 15

    jstlでセッション変数を削除する方法

  16. 16

    セッションに変数を格納する方法は?

  17. 17

    jspでセッション変数を設定する方法

  18. 18

    NodeJSでMySQL @セッション変数を使用する方法は?

  19. 19

    関数からgocqlのセッション変数を返す

  20. 20

    ServletRequestのセッション変数

  21. 21

    セッション変数の設定

  22. 22

    PHPセッション変数の寿命

  23. 23

    特定のtmuxセッションをターゲットにする方法

  24. 24

    bashの引数に特定のオプションセットを設定する

  25. 25

    以前のテストからセッションを取得し、URLパスの一部としてセッション変数を挿入する方法

  26. 26

    あるセッション変数を変更すると、別のセッション変数も変更されるのはなぜですか?

  27. 27

    セッション値の一部のみを更新する方法CODEIGNITER

  28. 28

    特定の条件で1つのセッションに値を格納する方法

  29. 29

    NodeJS-特定のルートのセッションを無効にする方法

ホットタグ

アーカイブ