1

ショッピングカートアプリケーションを開発していますが、$_SESSIONを使用してカートアイテムを保存する方法についてサポートが必要です。

コンセプト

ユーザーが[カートに追加]をクリックすると、次の情報が保存されます。製品ID(5312など)、製品名、製品数量、製品ルール(色:白、サイズ:中など)

問題

問題は、エントリをアイテムIDで$_SESSIONに保存するときです。私は次のことを想定したいと思います。

  • ユーザーは、色が白である製品#11の1つのアイテムを追加します
  • 次に、ユーザーは色が青である製品#11の2つのアイテムを追加します

アイテムIDで保存すると、情報は常に上書きされます。同じ製品のさまざまなサイズ、さまざまな色を追加する可能性があると想定しているため、各呼び出し/カートへの追加を一意にします。

どうすればそのような問題を克服できますか?

任意のアイデアや入力は大歓迎です。

4

3 に答える 3

3

SESSION 変数を使用して多次元配列を実行できます。

$_SESSION['cart']=array(
    $product_id=>array($product_count,$product_options),
    $product_id=>array($product_count,$product_options),
);

または、$product_idが一意でない場合:

$_SESSION['cart']=array(
    array($product_id,$product_count,$product_options),
    array($product_id,$product_count,$product_options),
);

このようなものを使用すると、一意の製品 ID を配列キーとして持つことができ、必要な数、オプション、およびその他の情報を保存できます。

もう 1 つのオプションは、ショッピング カート用のテーブルを作成し、セッションにカート ID を保存することです。次に、mysql テーブルでカート情報を確認します。

于 2012-09-04T20:54:12.463 に答える
0

製品 ID をキーとして配列を格納できます。

于 2012-09-04T20:50:59.313 に答える
0

製品をセッションに保存する代わりに、カート項目オブジェクトを保存します。カート項目オブジェクトには、その項目の属性 (色、数量、必要に応じて別の価格など) と共に製品 (製品 ID) への参照が含まれます。各カート項目にランダムな ID を割り当てれば、オーバーライドの問題に遭遇することはありません。

于 2012-09-04T20:54:58.253 に答える