• 締切済み

現在ショッピングサイト作成してます。

1.phpに<a href="a.php?id=' . $row['id'] . '">として商品事のidでリンクするようにしています。 そして商品をクリックするとa.php?id=1189 ページ等に辿り着きます。このページでは選んだ商品だけ表示されてます。 そして、「更に商品を買う」リンクをつけてb.PHPに行く際に選んだa.php?id=1189 の情報を飛ばし、下の方に「現在この商品を選択中」みたいに表示させたいですが方法が分かりません。 ちなみに一番目に選ぶ商品と二番目に選ぶ商品はテーブルも違いますし、前述したように、一番目に選んだ商品だけ、下のほうに表示させ、尚且つ「現在この商品を選択中」を表示させなければなりません。 $query = "select * from ki2"; 商品表示ソース $query = "select * from ki where {$_GET['id']}"; 商品表示ソース このやりかたではダメですか?? 分かりにくいとは思いますがお願いいたします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

・セッションでデータを保持する ・クッキーでデータを保持する のいずれかが妥当。 手習いとして作るなら面白いかもしれないが 実務レベルのショッピングサイトは決済システムの関係もあるので スキルがないと無理だと思うよ。 (実務で使うならどこかのカートシステムを購入するのが早くて確実で セキュリティの心配も最低限ですむから)

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ショッピングサイトを作っています。

    商品の画像をクリックすると拡大写真のページに移動するようになっています。 そのページから元の商品のページに戻るとページの1番上が表示されてしまいます。 どのようにすれば、ページの下のほうにある元の商品を 1発で表示させることができるのでしょうか?? どうぞよろしくお願いいたします。

  • データを昇順に並べるには

    $query = "select id,name,jyusyo,kakaku,gazou,link from kensaku where"; と書いてDBから正常にデータが取得できています。これを (1)$query = "select id,name,jyusyo,kakaku,gazou,link from kensaku order by kakaku"; (2)$query = "select id,name,jyusyo,kakaku,gazou,link from kensaku order by kakaku asc"; (3)$query = "select id,name,jyusyo,kakaku,gazou,link from kensaku [where where_definition] order by kakaku";(このやり方はPHPプロというサイトで教えてもらいました) これら三つどれを書いてもエラーになります。どうしたら良いでしょうか??

    • ベストアンサー
    • PHP
  • ショッピングサイトの作成

    http://codezine.jp/article/detail/3908 このページを参考に、ECサイトの作り方を学習しようと思いました。 そこで疑問点がでてきました。 流れとして、  1.商品一覧ページ で 購入したい商品を選択(ボタンによる選択)  2.1で選択した、商品の詳細画面が出てくる。(ボタンを押すことで、カートに入る。) ここで気になったことが、  1.の時に、商品一覧ページで ボタンを押した時に、javascriptによるonclick処理が走っています。  2.の時には、Fromによるsubmit 処理が走っています。 質問:基本ECサイトでの画面遷移は、「Formタグで起こすもの」と思っていたのですが、上記のような「商品一覧」 から 「商品詳細に画面を繊維する際」には、onclick、アイテムの確定にFormを使うほうがいいのでしょうか。 javascriptを無効にしてる人たちは、onclickが無効化されて、ECサイトとしてまずいのではと思いました。 どなたかお分かりの方がいられましたら ご教授お願いします。

    • ベストアンサー
    • PHP
  • 複数のページで

    データをMysqlに入れてます。そのデータをIDで選択して1ページづつ表示させているのですが、あまりにページが多くなりすぎてきて困ってます。 なので、ページのレイアウトをlayout.phpにして、その表示を1.phpや2.phpとしていきたいのですが、 $sql = "SELECT id FROM data WHERE id = 1"; の部分のid = 1の部分だけを.phpや2.phpに記載して、そのほかをlayout.phpから持ってくる方法はありますでしょうか? また他に違う方法もありましたらご教授ください。よろしくお願いします。

    • ベストアンサー
    • PHP
  • MySQLで最新のデータから一回ずつ順番に取り出す方法 PHP

    idと、dataという2つのカラムで構成されたMySQLがあります。 そのidはプライマリキーに設定してあり、auto incrementとして、どんどん数値が増えていく設定です(phpMyAdminを使ってテーブルを作っています) そこで、そのid番号の現在の最新のものを php側から呼び出して取得し、 その次、しばらくすると、PHP側で再びその最新から2番目 (2番目に新しいデータ)を取得する命令を 投げたいと思っています。 そのあとは、同じように、3番目に新しいもの、 4番目、5番目と続けたいと思っています。 その際、毎回、php側で MySQLのデータの読み出し命令を送るわけですが、 その際、最新のもの、2番目に最新のものを 時間差でSELECTしていくには、 どのようにすればいいでしょうか。 PHP側で「いま3番目に新しいものを読んだので次は4番目に新しいもの」というように前回の状態を保持しておくことってできるのでしょうか。 また、このidというのは、途中で消したりしているidもあったりするので、1番から始まっていたとしても、途中の30番とかが抜けていたりして、歯抜け状態ですので、id番号でセレクトするとエラーになる可能性が高いです。 なので、id番号ではなく、 テーブルの上の行から選んでいくという方法が ベストだと思っています。 そのような指定をMySQLの構文で指定することって可能なのでしょうか? ちなみに、一応、何番のidを読むというのは理解しており、 以下のような感じのSELECT文をphpのqueryで使っていたりします。 table_aから、変数$indexNumの値のidを読むという処理を、 変数$queryに入れている文が以下になります。 $query = "SELECT arrayset FROM `table_a` WHERE id= '$indexNum'"; このあたりのノウハウをご存知の方、教えてくださいますと幸いです。 お願いいたします。

    • ベストアンサー
    • MySQL
  • 検索のソートについて

    以前phpのカテゴリ内で以下のようなQ&Aをみつけましたが、まったく同じ状況で使用する言語がperlの場合どのようにすればいいのでしょうか?どなたか教えて下さい。 "PHP+MySQLを勉強中です。 例えば、商品テーブルに商品ID、商品名、価格、在庫数の4つのフィールドがあって、その表の各名称をクリックするとソート(例:オークションなどで現在価格をクリックするとソートなど[select * from 商品 order by 価格 asc])できるスクリプトをどのように作成すればよいか教えて下さい。" "shohin.phpで商品一覧を表示するとして、フィールド各名称のリンクを <a href="shohin.php?sort=1">商品ID</a><a href="shohin.php?sort=2">商品名</a>・・・ のようにします。" あとはswitch文を使ってget値(sort=の値)別にクエリーを変えるだけです。

    • ベストアンサー
    • Perl
  • データベース データ表示方法

    ご教授いただきたくご投稿させていただきました。 現在phpにてページを作成しているのですが、初心者でわからないためご教授お願いします。 データベースに登録されているメンバー一覧表を作成しています。 コード以下です。 $uid = mysql_real_escape_string($_SESSION['uid'], $link); $query = sprintf("SELECT * FROM member WHERE id='%s' ",$uid); $query_list = sprintf("SELECT * FROM member WHERE 1 ORDER BY first_kana,last_kana"); $result = mysql_query($query, $link); $result_list = mysql_query($query_list, $link); $list = ''; while ($row = mysql_fetch_array($result_list)) { $list .= "<li><a href='".$row["id"].".php'>" . $row['first_name'] ." ". $row['last_name'] . "</a></li>\n"; } if ($result) { $row = mysql_fetch_array($result); if ($row) { $name = $row['first_name']." ".$row['last_name']; } } <html> <body> <?php print $name; ?>さんこんにちは <ul> <?php $list; ?> </ul> というコードをしています。 ここで、 <ul> <li><a href="">山田 一郎</a></li> <li><a href="">佐藤 二郎</a></li> <li><a href="">田中 三郎</a></li> </ul> と表示されるのですが、各名前のリンクをクリックしたときにクリックされた人のページを表示するにはどうしたらよろしいのでしょうか? 例 田中 三郎さんでログインしたときに 山田 一郎をクリックする そうすると別ページで山田 一郎さんの情報(データベースに登録されている)がページに表示される。 佐藤 二郎をクリックする こちらも同様に別ページで佐藤 二郎さんの情報(データベースに登録されている)がページに表示される。 今までは各一人ずつページを作成していたのですが、手間がかかるため一枚のページにクリックされた人の名前の情報を表示できるようにしたいと思っております。 お分かりになる方はご教授下さい。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHP セレクトフォームの連動

    初めての質問です。よろしくお願いします。 今、同一ページ内で二つのセレクトフォームを連動させてライブ写真の表示をさせようとしているのですが、上手くいきません。 内容は、まず1つ目のセレクトにライブ会場名を表示します。そのセレクトをクリックすると、連動してもう一つのセレクトに写真名のリストが表示されるようにします。 今困っているのは一つ目のセレクトをクリックし、二つ目のセレクトの連動はどうにかできたのですが、二つ目のセレクトをクリックすると一つ目のセレクトが初期状態に戻ってしまいます。 質問がヘタクソなので、ソースとURLを書いておきます。ソースが分かりにくいとは思いますがご了承ください。お分かりになる方は分かりやすく教えてください。よろしくお願いします。 URL http://www.officekuwa.com/soulsurvivores/ontheroad/gallery.php データーベースの内容です。 gallery_title(ライブ会場名が登録されたテーブル) id,title,date,active gallery (写真名が登録されたテーブル) id,cid,title,photos,date,active //一つ目のセレクト // ライブ会場名表示 $gallery_query = "select * from gallery_title where id =".$_POST['setID']."; $gallery_cat_data = mysql_query($gallery_query, $db); $gallery = mysql_fetch_assoc($gallery_cat_data); <FORM method="post" name="setForm" action="/soulsurvivores/ontheroad/gallery.php?ID=<?php echo _hs($gallery['id']); ?>"> <SELECT NAME="setID" CLASS="formPulldown" STYLE="width:175px" onChange="document.setForm.submit()"> <option value=''>Select a Photo Set</option> // 会場名表示 $gallery_query = "select * from gallery_title"; $gallery_cat_data = mysql_query($gallery_query, $db); while($gallery_cat = mysql_fetch_assoc($gallery_cat_data)) { $SELECTED = (($_POST['setID'] == $gallery_cat['id'])?" SELECTED":""); <option value="<?php echo _hs($gallery_cat['id']); ?>"<?php echo _hs($SELECTED);?>><?php echo $gallery_cat['title'];?></OPTION> </SELECT> </TD></FORM> <option value="<?php echo _hs($gallery_cat['id']); ?>"<?php echo _hs($SELECTED);?>><?php echo $gallery_cat['title'];?></OPTION> </SELECT> </TD></FORM> } //二つ目のセレクト // 写真タイトル名表示 if ($_SERVER["REQUEST_METHOD"] == "POST") { $gallery_query = "select * from gallery where cid =".$_POST['setID']."; $gallery_cat_data = mysql_query($gallery_query, $db); $gallery_cat = mysql_fetch_assoc($gallery_cat_data); ?> <FORM method="post" name="phoForm" action="/soulsurvivores/ontheroad/gallery.php?ID=<?php echo _hs($gallery_cat['id']);?>&setID=<?php echo _hs($gallery_cat['cid']);?>"> <SELECT NAME="ID" CLASS="formPulldown" STYLE="width:275;background-color:#FFFFFF" onChange="document.phoForm.submit()"> <option value=''>Select a Photo</option> <?php } } if ($_SERVER["REQUEST_METHOD"] == "POST") { $gallery_query = "select * from gallery where cid =".$_POST['setID']."; $gallery_disp_data = mysql_query($gallery_query, $db); while($gallery_disp = mysql_fetch_assoc($gallery_disp_data)) { $SELECTED = ((!isset($_POST['setID']) Or $_POST['setID'] == "none")?" SELECTED":""); ?> <OPTION VALUE="<?php echo _hs($gallery_disp['cid']);?>" <?php echo _hs($SELECTED); ?>><?php echo $gallery_disp['title'];?></OPTION> <?php } } ?> </SELECT> // 写真の表示 <?php if ($_SERVER["REQUEST_METHOD"]=="POST") { $SELECTED = "SELECTED"; if(!isset($_POST['ID'])) { print ""; } else { // 写真の表示 $gallery_query = "select * from gallery where cid =".$_POST['ID']."; $gallery_cat_data = mysql_query($gallery_query, $db); $gallery_cat = mysql_fetch_assoc($gallery_cat_data); ?> <img src="<?php echo _hs($gallery_cat['photos']); ?>" alt="" hspace="0" vspace="6" border="0"> <?php } } ?>

    • 締切済み
    • PHP
  • ショッピングカートで・・

    初心者ながらもともとあるCGIのショッピングカートを 改造しているのですが、下にあるプルダウン 項目の「商品名」A5 10冊 「価格」\19000と 選択してカートに入れた際に「商品名」「価格」と 表示を分けたいのですが、 どうすれば良いか教えて頂けませんか? 商品名は「syouhinmei」価格は「kakaku」と 決まっている。現在は商品名「A5  10冊 \19000」と 表示される。 SELECT name="shouhinnmei"> <OPTION>A5  10冊 \19000 <OPTION>A5  20冊 \22000 <OPTION>A5  30冊 \25000 <OPTION>A5  50冊 \28000 </SELECT> 説明不十分とは思いますが、宜しくお願いします。

    • 締切済み
    • CGI
  • phpのリストボックスについて

    よろしくお願いします。 phpを利用し、条件にあった内容を表示させる画面を作っています。 リストボックスで選択した内容を次のリストボックスの選択キーとして 別テーブルの検索条件に利用できるものでしょうか?? 以下のソースなんですが、 //------------------------------------------------------------- ソースA: print "<select name='brand' id='brand' style='width:190'>"; $sql ="select * from brand ORDER by no"; $res = mysql_query($sql); if ($res and mysql_num_rows($res)) { while($rec=mysql_fetch_array($res)){ echo "<option value='{$rec['name']}' >{$rec['name']}</option>"; } } print "</select>"; //-------------------------------------------------------------- とbrandテーブルからnameをリストボックス表示させます。 この表示し、選択した内容(仮にダイヤ)を同画面にあるもう一つの リストボックスで同じようなソースで別テーブルをselect文の検索キーに したいのです。以下のような感じ・・ //------------------------------------------------------------- ソースB: $sql ="select * from item where = 'ダイヤ'"; $res = mysql_query($sql); if ($res and mysql_num_rows($res)) { while($rec=mysql_fetch_array($res)){ echo "<option value='{$rec['itemname']}' >{$rec['itemname']}</option>"; } } print "</select>"; //-------------------------------------------------------------- の$sql ="select * from item where = 'ダイヤ'";←このダイヤを ソースAからもってきたいのですが、何かよい方法はありますか? 変数作ってやってみましたが、うまくいかずです。phpだけでは無理でしょうか?よろしくお願いします。

    • 締切済み
    • PHP