• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:詳細データを常に同一スペースに表示する方法)

詳細データを常に同一スペースに表示する方法

このQ&Aのポイント
  • PHP+MySQLで商品データの表示ページを作りたいと考えています。データベースには最低限下記のデータがあるという前提です。「商品別番号、カテゴリ名、商品名、価格、画像ファイル名」
  • 理想は、一つの画面内に1.カテゴリ一覧表示2.(↑のカテゴリ一覧からどれかを選択(クリック)した際)そのカテゴリに属する商品名のみを10件表示 ※10件以上ある場合は「次ページ」等のリンクを表示3.(↑の商品名のどれかを選択(クリック)した際)該当商品の詳細表示をすることです。
  • 購入したPHPの参考書では、1.と2.を同一ページで表示するスクリプトはありましたが、3.に関しては詳細表示だけの別画面へ遷移させる仕組みになっていました。これを2.で表示される商品名のどれかをクリックすると、同一ページ内の詳細表示部にその商品のデータが表示される(=詳細表示部の内容だけが切替わっていく)ようにしたいのですが、どの様な方法が考えられるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • taskuni
  • ベストアンサー率71% (49/69)
回答No.1

フレームを使わない場合の構造を少し。 ・とりあえず、表示用phpの名前は、「display.php 」とします。 ・商品DBと、カテゴリDBを作ります。 ・商品DB:商品別番号(ユニーク),カテゴリID,商品名,価格,画像ファイル名 ・カテゴリDB:カテゴリID(ユニーク),カテゴリ名 のような感じ。 ↓display.php の中身 <? // カテゴリ表示部 カテゴリ一覧表示のタグを生成して変数 $catlist_htmlに代入。 各カテゴリのリンク先は「display.php?cat_id=xx」の様な感じにする。 (xxは、各カテゴリにつけられたユニークなID) // カテゴリ内商品表示部 $_GET['cat_id'] の値を取得して、商品DBから絞込み 商品一覧表示のタグを生成して変数 $itemlist_htmlに代入。 各商品のリンク先は「display.php?cat_id=xx&item_id=yy」の様な感じにする。 (xxは、$_GET['cat_id'] の値) (yyは、各商品につけられたユニークなID) // 商品表示部 $_GET['item_id'] の値を取得して、商品DBから商品データ選択 商品詳細のタグを生成して変数 $itemdetail_htmlに代入。 ?> <html> <body> <? echo $catlist_html; ?> <? echo $itemlist_html; ?> <? echo $itemdetail_html; ?> </body> </html> とりあえずこんな感じで表示したい物が出るかどうか やってみてはどうでしょう。 レイアウトは後からどうにでもなると思います。

fou
質問者

お礼

早速ご回答いただき大変ありがとうございます。 まさにtaskuniさんが示されたような方法を求めていたと言っても過言ではありません。 自分の頭の中では実現しそうな構造のイメージは湧くのですが、具体的な方法(構造)が思い浮かばず困っておりました。 フレームは個人的にもあまり使いたくありませんでしたし、まずはアドバイス頂いた全体の構造(骨組み)を元に、実際のスクリプトを作っていきたいと思います。 PHPもMySQLもまだまだ初歩の初歩段階で、勉強しながら作ることになるため、結果のご報告がかなり遅くなると思いますが、とりあえず無事作れることを祈りつつまたご報告しに来たいと思います。 ご丁寧な回答をいただき本当にありがとうございました。