質問: phpとpostgresを利用した検索システムについて ご覧頂き有難う御座います。 ◆ 説明 ◆ phpを利用し、postgresqlにデータを登録させるシステムを作成致しました。そこで、検索システムも作成したいと思い簡単な検索システムは作成出来たのですが、更に踏み込んだ検索をしようと思い実装に取り組んでおります。 ◆ db構成 ◆ ユーザマスタ: ユーザ情報を格納(名前、ふりがな、etc) 種別マスタ : 問合せ種別を格納(0=問合せ、1=商品、2=求人、etc) データt : 時間や内容を格納(問合せ時間、内容、etc) ◆ システム構成 ◆ php、apache : 最新版 postgres : 8.1.4 上記を踏まえての質問です。 例えば検索条件を種別(問合せ)とし検索を実行すると、テーブルを連結し、phpで結果を取得、表示を行います。 例) メアド |名前 |種別 |問合せ日時|内容 | a@a.com |テスト|問合せ|07/11/07...|書き込み| このように検索条件に沿った登録レコードを件数分表示されています。 ◆ 実装したい事 ◆ この「メアド欄」の左に「詳細ボタン」というものを付け、クリックすると別画面に検索条件に沿った全情報(メアドや名前だけではなく、フリガナや会社名、郵便番号等)を表示させたいのですが、どのように実現すれば良いのかが分かりません。 ◆ 今している事 ◆ とりあえず、検索条件で検索された値を表示させ、機能はしませんが詳細ボタンの表示をすることができました。次は、検索条件に沿ったデータが複数件存在したときに、複数行ある中で、その行(ボタン)が選択されたことが取得できれば、ボタン名か何かでレコードを取得できるのではないかと考えておりますが、そこで訳が分からなくなってしまいました。 複数件分の検索結果表示と詳細ボタンの表示は実装できました。また、詳細ボタンを押すと別窓を開く(javascript)なども実装していますが、しかし、どのように各当レコードを取得し、別窓に値を渡し、表示すればいいのかが分かりません。 どのようにすれば、思うようなプログラムを実装できるのか、参考サイトやサンプルサイトへの誘導、もちろんご指導して頂ける等のお力添えをお願い致します。
回答: あまり難しく考えないように(笑。 詳細ボタンをクリックすると、別画面に詳細情報が表示される、と言うだけですよね。 ユーザid等は設定されているでしょうから、ユーザidを別窓に渡します。 一番簡単に実装するとすればこんなリンクです。 詳細 hogehoge.phpは、getで来たユーザidを元に詳細情報を表示させます。概要はこんな感じですか。 php if(isset($_get["id"])){ //データベース接続、 //ユーザidで詳細情報取得 //$sql = "select * from hogehoge where id='".addslashes($_get["id"])."'"; //取得した詳細情報を表示 } ? これは別窓と言うよりtargetで新しいウィンドウですね。javascriptを使う場合はこんな感じでリンクを作れば良いと思います。 [詳細表示](javascript:window.open('hogehoge.php?id=ユーザid', 'hogehoge', 'width=200,height=200');) 当然ながら、ユーザid部分はそれぞれ違うでしょうから、phpから書き出して下さい。 例 foreach($arr as $data){ echo "| {$data"name"]} | {$data["email"]} | [詳細 | "; }