AIと戦って、あなたの人生のリスク診断 >>

ご覧頂き有難う御座います。

◆ 説明 ◆
phpを利用し、postgreSQLにデータを登録させるシステムを作成致しました。そこで、検索システムも作成したいと思い簡単な検索システムは作成出来たのですが、更に踏み込んだ検索をしようと思い実装に取り組んでおります。

◆ DB構成 ◆
ユーザマスタ: ユーザ情報を格納(名前、ふりがな、etc)
種別マスタ : 問合せ種別を格納(0=問合せ、1=商品、2=求人、etc)
データT : 時間や内容を格納(問合せ時間、内容、etc)

◆ システム構成 ◆
php、Apache : 最新版
postgres : 8.1.4

上記を踏まえての質問です。
例えば検索条件を種別(問合せ)とし検索を実行すると、テーブルを連結し、phpで結果を取得、表示を行います。
例)
メアド |名前 |種別 |問合せ日時|内容 |
a@a.com |テスト|問合せ|07/11/07…|書き込み|

このように検索条件に沿った登録レコードを件数分表示されています。
◆ 実装したい事 ◆
この「メアド欄」の左に「詳細ボタン」というものを付け、クリックすると別画面に検索条件に沿った全情報(メアドや名前だけではなく、フリガナや会社名、郵便番号等)を表示させたいのですが、どのように実現すれば良いのかが分かりません。

◆ 今している事 ◆
とりあえず、検索条件で検索された値を表示させ、機能はしませんが詳細ボタンの表示をすることができました。次は、検索条件に沿ったデータが複数件存在したときに、複数行ある中で、その行(ボタン)が選択されたことが取得できれば、ボタン名か何かでレコードを取得できるのではないかと考えておりますが、そこで訳が分からなくなってしまいました。

複数件分の検索結果表示と詳細ボタンの表示は実装できました。また、詳細ボタンを押すと別窓を開く(JavaScript)なども実装していますが、しかし、どのように各当レコードを取得し、別窓に値を渡し、表示すればいいのかが分かりません。

どのようにすれば、思うようなプログラムを実装できるのか、参考サイトやサンプルサイトへの誘導、もちろんご指導して頂ける等のお力添えをお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

あまり難しく考えないように(笑。


詳細ボタンをクリックすると、別画面に詳細情報が表示される、と言うだけですよね。

ユーザID等は設定されているでしょうから、ユーザIDを別窓に渡します。
一番簡単に実装するとすればこんなリンクです。
<a href="hogehoge.php?id=ユーザID" target="_blank">詳細</a>
hogehoge.phpは、GETで来たユーザIDを元に詳細情報を表示させます。概要はこんな感じですか。
<?php
if(isset($_GET["id"])){
//データベース接続、
//ユーザIDで詳細情報取得
//$sql = "SELECT * FROM hogehoge WHERE id='".addslashes($_GET["id"])."'";
//取得した詳細情報を表示
}
?>
これは別窓と言うよりtargetで新しいウィンドウですね。javascriptを使う場合はこんな感じでリンクを作れば良いと思います。
<a href="javascript:window.open('hogehoge.php?id=ユーザID', 'hogehoge', 'width=200,height=200');">詳細表示</a>

当然ながら、ユーザID部分はそれぞれ違うでしょうから、PHPから書き出して下さい。

foreach($arr as $data){
echo "<tr><td>{$data["name"]}</td><td>{$data["email"]}</td><td><a href=\"javascript:window.open('hogehoge.php?id={$data["id"]}', 'hogehoge', 'width=200,height=200');\">詳細</a></td></tr>";
}

この回答への補足

今、ようやく完成致しました。

<a href=\"javascript:window.open('hogehoge.php?id={$data["id"]}', 'hogehoge', 'width=200,height=200');\">詳細</a>

この箇所ですが、javascript:void(window.open(…))というように変更すると、きちんと値を渡し、親ウィンドウを変更させることなく、別窓へ値を渡すことができました。

また、元々自分で作成したかった型でも作成できました。
ボタン方式
for ( $i=0; $i<$scount; $i++ ){
print <<<_EOH_
<tr>
<td><font color='{$color}'>{$prn_div/*領域用*/}</font></td>
<td>{$email}</td>
<td>{$uname}</td>
<td align='center'>
<form action='./hogehoge.php' method='post' target='_blank'>
<input type='hidden' id='email'(name='email') value='{$email}'>
<input type='hidden' id=name(name='name') value='{$uname}'>
<input type='submit' value='表示'>
</form>
</td>
</tr>
_EOH_;
}

項目数とか細かいことは上記のプログラムではおかしいかも知れませんが、無事に動作致しました。

本当に有難う御座います!!

お礼の後に補足にて失礼致しました。

以上を持ちまして質問を締め切らせて頂きます。

補足日時:2007/11/08 17:01
    • good
    • 0
この回答へのお礼

ご回答有難う御座います。
>詳細ボタンをクリックすると、別画面に詳細情報が表示される、と言うだけですよね。
まさにその通りです。

現在検証と実験を行っており、まだ、実現したわけではないので、良いお知らせをする事が出来ず、申し訳ありません。

これより本腰を入れて作成したいと思います!

また、サンプルソースも記述して頂き、理解し易く、とても感謝しております。
アルゴリズムを含め、参考にさせて頂きます。

お礼日時:2007/11/07 14:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング