人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPの質問です…ショッピングカートを作成したいと、サンプル構文を駆使して記述してみましたが…初心者のため上手くいきません。

問題の構文はこちらから参照ください→ http://kinsekitei.com/prototype/sample.html

セッション関数の配列から値を取り出して、繰り返し表示をしたいのですが…*の部分のforeach構文で、カートに入ってる商品個数を$valueに代入したのですが、値が入るたびに、各購入個数に配列の値が連続して表示されてしまいます。例)1回目、1個は、1個と。2回目が3個なら、13個と全ての商品情報に表示されてしまいます。

商品に入れるたびに「その商品の購入数」を表示するにはどのようにすれば良いでしょうか?どなたかご教授いただけると助かります。よろしくお願いします。

●質問者: DrArabes
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● じゅぴたー
●500ポイント ベストアンサー

おそらく、リンク先に記されている「以下の構文の$valueにそれぞれの購入数を代入して繰り返し表示したい。」のループ処理が間違っています。

下記のようにしてみてください。

<?php if(isset($_SESSION['cart']) && count($_SESSION['cart']) > 0){ ?>

<form id="delform" action="delete.php" method="post">

<?php
foreach ($_SESSION['cart'] as $product => $value) {
 $info = product_info($product);

 echo "<input type=\"checkbox\" name=\"ids[] \"value=\"".$product."\" >";
 echo "<img src=\" ".$info['image01']." \" />";
 echo "<div >";
 echo "<h4>".$info['name']."".$info['type']."".$info['prod_num']."".$info['shape_size']."".$info['shape']."".$info['rank']."</h4>";
 echo "<br><h4>";
 echo $value;
 echo "個&nbsp;×&nbsp;&nbsp;&nbsp;";
 echo "".cnv_currency($info['price'])."";
 echo "</h4></div></div><hr class=\"hr_line\">";
}
?>
--以下省略--
◎質問者からの返答

ご回答ありがとうございます!この場合、カートに入る商品詳細をforeach構文で繰り返しているためでしょうか…

次の商品をカートに入れた場合に、それぞれの商品個数が連続して表記されてしまいます。例)1回目を1個なら1個。2回目を3個なら13個と…商品毎に表記されてしまいます。

カートに商品が代入された毎に「それぞれに注文したの商品個数」を抽出したいのですが…改善方法をご存知でしょうか?

ご教授のほど、よろしくお願いします。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ