PHPについて質問です。


ショッピングカートの確認画面を作りたいのですが、詳しい方答えて頂けないでしょうか?

作成にあたっての問題点を1~3であげてみました。

①商品購入のボタンをお客様が押すと、SUBMITボタンのname部分に当たる、商品データをデータベースから抜き出し それをショッピングカートの確認画面へ出力。

【問題1】①の際にSELECT命令で抽出したものを変数に入れ、それをテーブルで出力しようと考えているのですが、可能でしょうか?
商品リストはデータベースの中に作ろうと考えております。

②①の命令が出来たとして、ショッピングカートの中身確認画面のテーブルに商品データが追加される。

【問題2】②の際に、テーブルに一行、行が追加され商品データが反映されますがここが今一つかめないです、逆の削除の処理も掴めません。

③商品購入するのボタンを押すと、データベースへ購入された商品情報が登録される。

【問題3】ショッピングカートの中身にある行のデータを次々とデータベースへ登録する事も今一掴めないです。

以上の問題点について、こうしたら良い、その考え方は間違っている等ありましたら御意見よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/11/29 18:21:15
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:koujirou6218 No.1

回答回数597ベストアンサー獲得回数47

ポイント80pt

の際にSELECT命令で抽出したものを変数に入れ、それをテーブルで出力しようと考えているのですが、可能でしょうか?

(1)

テーブルとは、DB側のテーブルということですか?

HTMLのテーブルではないですよね?

DB側のテーブルであれば、NULLになるまで出力し続ければよいかと。

しかし、商品データが多くなるとDB側にも負荷がかかりますのでLMITで指定の数を抽出してください。

理解しているとは思いますが、HTMLであればタグを追加していくだけでいいのではないでしょうか。



(2)

購入を押した場合の商品データは何で管理するつもりですか?

購入と削除のクエリを毎回DBに送信していると大変な負荷になりますよ。

レスポンスも低下しますし。

普通にCookieを利用してはどうでしょうか。

http://www.sakura-pc.jp/php/cookie.shtml



(3)

1.購入完了後、Cookieの内容をDBに送信する。

2.Cookieを削除する



まず、紙か何かに大まかな処理手順を図示してみましょう。

大まかなフローが決まれば、細かいフローを書き足していきましょう。



後、まる1やまる2などの文字は機種依存文字なので対応していないPCで閲覧すると不具合を起こす可能性があるので利用は控えたほうがよいでしょう。

id:aiomock

ご回答ありがとうございます。

テーブルはHTMLを考えています。

追加の文は作成してちょっとやってみたのですが、追加したものを削除となるとどのようにして削除するのか?

というのがいまいち掴めず、困っております。

カートの中に入っているのを消すと、下のカートに入っているものが自動で繰り上がるなど、そのあたりまで考えると少し混乱してしまいます。

2008/11/24 14:13:10

その他の回答1件)

id:koujirou6218 No.1

回答回数597ベストアンサー獲得回数47ここでベストアンサー

ポイント80pt

の際にSELECT命令で抽出したものを変数に入れ、それをテーブルで出力しようと考えているのですが、可能でしょうか?

(1)

テーブルとは、DB側のテーブルということですか?

HTMLのテーブルではないですよね?

DB側のテーブルであれば、NULLになるまで出力し続ければよいかと。

しかし、商品データが多くなるとDB側にも負荷がかかりますのでLMITで指定の数を抽出してください。

理解しているとは思いますが、HTMLであればタグを追加していくだけでいいのではないでしょうか。



(2)

購入を押した場合の商品データは何で管理するつもりですか?

購入と削除のクエリを毎回DBに送信していると大変な負荷になりますよ。

レスポンスも低下しますし。

普通にCookieを利用してはどうでしょうか。

http://www.sakura-pc.jp/php/cookie.shtml



(3)

1.購入完了後、Cookieの内容をDBに送信する。

2.Cookieを削除する



まず、紙か何かに大まかな処理手順を図示してみましょう。

大まかなフローが決まれば、細かいフローを書き足していきましょう。



後、まる1やまる2などの文字は機種依存文字なので対応していないPCで閲覧すると不具合を起こす可能性があるので利用は控えたほうがよいでしょう。

id:aiomock

ご回答ありがとうございます。

テーブルはHTMLを考えています。

追加の文は作成してちょっとやってみたのですが、追加したものを削除となるとどのようにして削除するのか?

というのがいまいち掴めず、困っております。

カートの中に入っているのを消すと、下のカートに入っているものが自動で繰り上がるなど、そのあたりまで考えると少し混乱してしまいます。

2008/11/24 14:13:10
id:tysmk No.2

回答回数5ベストアンサー獲得回数0

ポイント50pt

【問題1】

可能です。

セッション変数にいれてください。

【問題2】

>商品データが反映されますがここが今一つかめないです

なにがつかめないのかよくわかりません。

具体的にお願いします。

>削除の処理

下のようにして商品IDを取得、該当する番号のIDをけしてはどうでしょう?

<input type="checkbox" name="syouhinId[]" value=1>クリスマスケーキ

<input type="checkbox" name="syouhinId[]" value=2>ゲーム機

<input type="checkbox" name="syouhinId[]" value=3>PHPの本

【問題3】

下のような取り方をしてforeachでよしなに回してください。

<input type="hidden" name="shohinId[]" value=1>

<input type="hidden" name="shohinId[]" value=2>

<input type="hidden" name="shohinId[]" value=3>


PHP,HTML,DBとごちゃごちゃしていてわかりづらいです。

わからないことを分けて質問した方がいいかと思います。

id:aiomock

ご回答ありがとうございます。

2008/11/29 00:04:59
  • id:Mook
    回答でないのでコメントですが、下記のようなフリーのCGIもありますので、
    このようなものの利用を検討するのも一法ではないでしょうか。
    http://www.cgis.biz/script_web_cart/
  • id:koujirou6218
    まず、カートの中身をどのように確認するのかを考えてください。
    1.CookieかPHPセッションを利用して商品情報を保持します。
    2.保持した情報を確認ページで全て表示します。
    2.1 削除を実行された場合、指定の商品をCookie or セッションから削除
    2.2 再度2.1で削除されたデータ以外を、Cookie or セッションに商品情報を格納する。

    削除は、様々な方法が考えられますが指定の文字列を検索して空白にする。つまり未入力の状態にしたり、セッションで管理しているのであればunsetすればよいと思います。
    その際は、NULLの場合次のデータに移行する処理を追加してください。
  • id:aiomock
    Mook さん

    ご回答ありがとうございます。

    フリー素材の検討も一度考えてみようと思いましたが、
    今後様々なサービスを展開していく上で、自分達で作ると自由度が高いかと思い、
    時間はかかるかと思いますがショップのカートを作成できるよう頑張りたいと考えております。

  • id:aiomock
    koujirou6218 様

    ご回答ありがとうございます。
    現在クッキーかセッションでやっていくか迷っております。
    クッキーの場合はクッキーを無効にしている人などは商品を買えなくなるなどの問題が発生した入りすることはないでしょうか?
    今一度練りこみ、作成してみようと思います。

    ご回答ありがとうございます。
  • id:koujirou6218
    殆どないと思われますが、Cookieを許可していないブラウザ設定で閲覧されるとカートの機能は動作しません。
    セッション管理ですと、問題ないですし携帯電話端末はまだCookieが利用できないものも多いのでセッション管理しておくと携帯版のオープンも手軽に済ますことができます。

    セッションハイジャックというアタックもありますのでよく理解しておきましょう。
    http://blog.hitachi-system.co.jp/02/89.html

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません