質問: $price * $number; echo " としているのですが、カートに入れるボタンを押しても最後のバナナしかカートに表示出来ません。 全ての商品の注文をカートに入れるにはどうすれば良いでしょうか? ご教授のほど宜しくお願いします。
回答: > 現状ですと商品が増えるごとにコードも増えてしまいます、良い方法があれば宜しくお願いします。 商品が増えても処理内容が増えるわけではないのでコードは変わらないですよね? 生成されるhtmlは増えますが、それは1ページに表示する件数を制御することで対応できますから、また別の機能のお話ということで。 商品にオプションを付けたりbtoな商品(パーツを選べるパソコンの販売とか)を取り扱うとなると複雑になります。 > >処理の意味を考えると、if(!isset($name))って意味が無いと思うで$name=$_post['name']; > については最初その様にしたのですが値渡しがうまく行かず if(!isset~に変えました。 これは、 > 2、3と一つずつ振り分けることで一応全ての商品の表示は出来るようになりました。 この影響ですね。 > ここで商品別の番号をsessionで記憶して行けばいけるような気がするのですが、 最低限カートに入れた商品番号と数量の配列をセッションに格納していれば、カートの中身は復元できそうですね。 no.1さんが紹介されているものは、それなりに高機能なものですが、もう少し簡易なショッピングカートプログラムもありますから、一度プログラムを読んでみてはいかがですか? 英語ですが simple php shopping cart チュートリアルというものが検索したらみつかりました。 http://jameshamilton.eu/content/simple-php-shopping-cart-tutorial ソースコードもダウンロード出来るみたいですから参考にしてみても良いと思います。 #見てみたらdbをpdoで接続するのであれば、ちょっと修正が必要です。 ちょうどセッションで管理するようになっているようです。 勉強にはちょうど良さそうですよ。