• ベストアンサー

PostgreSQLの検索結果表示について(一覧表示から該当レコードの詳細表示方法)

PostgreSQLとPHPを連携させた報告書データベースを作成しております。 データベースのフィールド数が16ありますので,検索結果には「報告書名」を含めた主要3フィールドのみを表示させております。この検索結果から全フィールドのデータを表示させる仕組みを思案しているのですが,暗礁に乗り上げてしまいました。 想定している仕組みは,検索結果一覧で表示された報告書名をクリックすると,そのレコードの全フィールドのデータが「詳細表示」として現れるというものです。 抽象的な質問で恐縮ですが,アドバイス等いただければ幸いです。

  • impAT
  • お礼率100% (2/2)
  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
noname#41855
noname#41855
回答No.1

そのDBテーブルには主キーが設定されていますよね? phpにGETで送るのかPOSTで送るのかでやりかたは変わってきますが 仮に主キーが2列あるとして・・・ GETの場合、リンク先のURLの後ろに ?Key1=123&Key2=ABC などと主キー付きのリンクを生成し、php側で受け取った主キーでselectして詳細ページを表示します。 POSTの場合、以下のようにFORMの中にhidden項目を追加して同様に処理します。 <INPUT type="hidden" name="Key1" value="123"> <INPUT type="hidden" name="Key2" value="ABC">

impAT
質問者

お礼

先にご回答いただいた内容を手掛かりにして試行錯誤を繰り返したところ,どうにか希望の動作ができるようになりました。 まだまだ不勉強なところが多々ありますが,少しずつスキルを上げていきたいと思います。 本当にありがとうございました。

impAT
質問者

補足

早速ご回答いただきまして誠にありがとうございます。 当方,全くの初心者の為,入門書のサンプルを流用してデータベースを作成しております。 ご回答いただいた内容から必要な仕組が理解できました。 大変恐縮ですが,追加で2点質問させてください。 1.リンク先の記載場所 検索結果の報告書名にリンクを設定するには,どの箇所にどのように入力すればよろしいでしょうか(主キーは1つです)? 取り出したデータを出力するechoの箇所かと思うのですが違いますでしょうか? 2.リンクの生成 該当データの主キー付のリンクを生成する,とのことですが,例えば <a href="syousai.php?id={$row['id']}" のような形式を想定していたのですがこれで良いでしょうか? 以上,どうぞ宜しくお願いいたします。

関連するQ&A

  • ACCESS マクロで検索に該当する全てのレコード表示方法は? 

    ACCESSでフォーム上のデータを、検索・表示しようとしています。(同一フォーム上で、テキストボックスに入力・コマンドボタンで検索実行・検索結果を表示) 該当するレコードのみ表示させたいのですが、上手くいきません・・・。 検索に該当するレコードにカーソルが移動するのはいいとして、それ以外の全てのデータも表示してしまいます。   例)タナカ を検索して、 検索結果はレコード内全てのタナカさんを表示 何とか【検索に該当するレコードのみ】マクロで表示できないでしょうか。

  • 検索フォームの検索結果。毎回先頭のレコードを表示させたい。

    こんにちは。 顧客データベースを作成しています。 当方初心者なもので、調べながらですがようやく顧客検索フォームができあがりました。 【Q検索】を作成し、それを元に【F検索】を作りました 顧客名の一部をキーワードとし、【F検索】内に配置したテキストボックスにキーワードを入力し検索ボタンを押すと、【F検索】内に埋め込んだサブフォームに該当顧客データが単票フォームで表示されるようにしました。誰でも使えるように、サブフォーム内に【前のレコードへ】と【次のレコードへ】という2つのレコード移動ボタンを配置しました。検索処理はうまく動いたのですが、一度検索をして、続けて検索をした時、先頭のレコードからの表示になりません。 例えば、「東」をキーワードにして検索し、検索結果が30件あったとします。一度目の検索では、検索結果は先頭のレコードが表示されます。【次のレコードへ】ボタンで10番目のレコードまで移動した後、今度は「西」をキーワードにして検索をすると10番目のレコードが表示されてしまいます。「西」の検索結果が5件しかなかった場合は新規レコードが表示されてしまいます。 ネットで調べていろいろ試してはみたのですが どのタイミングでどう記述すればいいのかわかりません。 説明に不備がありましたら追記していきますので よろしくお願いします。

  • 大量のデータベースから検索結果を表示する方法を教え

    http://note.chiebukuro.yahoo.co.jp/detail/n15842 この方法で、テキストボックスに検索文字を入れて、mydata.txtから該当のデータを表示させてるのですが データ量が10000レコード以上あるためか、ずっと"データを読み込み中...."になってしまいます。 jQueryだと私の環境だと、7000行が限界なのですが ほかの方法で、データベースから検索して結果を表示する方法を教えてくだ差し。 ちなみにOKWAVEはどのような方法で表示させてるのでしょうか? 上記のjQueryの方法だと、1ページ目で検索して、1ページ目に検索結果を表示させていますが OKWAVEは1ページ目で検索して、2ページ目で検索結果を表示させてますね? その方法でよいので、大量のデータベースから検索結果を表示する方法を教えてください。 ちなみに今はHTML、cssの知識しかありません。

  • フリー検索結果を(単票)と(帳票)で表示させたい

    [やりたいこと] フリー検索結果を単表フォームで表示していますが、検索レコードが多とき帳票フォームで表示させたい。アドバイス「ご指導」をお願い致します。 [オブジェクト(Access2007)] テーブル名:情報データベース「フィールド:日時、発生国、分野、内容、WEB」 クエリ:情報データ検索クエリ「抽出条件欄(記述):Like "*" & [内容(一文字可)] & "*"」 フォーム:情報データ検索結果単票(単票)「レコードソース:情報データ検索クエリ」 フォーム:情報データメインフォーム(単票) [現状のご報告(運用)] 情報データメインフォーム(単票)上にコマンドボタンを配して、情報データ検索結果単票(単票)を開いています。 [やりたいことのイメージ] 検索結果として単票フォームが開いた後、情報データ検索結果単票(単票)に配したコマンドボタンで、情報データ検索結果一覧(一覧)を開いて検索結果を一覧で表示させたい。 [考えてみたこと(やりたいことは自力実現できず)] 1,情報検索総合フォームを作成し、情報データ検索結果単票(単票)と情報データ検索結果一覧(一覧)を開く2個のボタンを配して、データが多そうなときは(一覧)のコマンドボタンで検索。データが少ないと思われるときは(単票)のコマンドボタンで検索。しかし、データの多少は実行してみないと分からないのと、結局のところ2度手間になるので断念しました。 2,ドルグボタンで(単票)検索後に(一覧)検索を行い、(単票)と(一覧)を一緒に表示させる方法もあるかと考えました。しかし、この方法では1のコマンドボタン2個が1個になるだけで、検索文字を入力する工数は変わらないので、考えただけで終わりました。※元々、マクロやプロシージャのコマンドやコーティングが分からないレベル。 3,自分なりの結論として、やはり(単票)で表示させたあとに、(単票)上に配したコマンドボタンで帳票を開く方法がベストかと考えました。「アドバイスがありましたら宜しくお願いします。」 以上ですが、宜しくお願いします。

  • PostgreSQL、レコード内にある結果(カウントの結果)を入れたい

    PostgreSQL、レコード内にある結果(カウントの結果)を入れたい こんばんは、お世話になっております。 タイトル通りの質問です。 以下のテーブルがあったとします。 Aテーブル No.|名称|状態 ---+----+---- 1 |a |作業中 2 |b |作業中 3 |c |作業中 4 |d |作業中 5 |e |作業中 1 |a |準備中 このテーブルを以下のように表示したいです。 No.|名称|状態 |準備数 ---+----+-------+------ 1 |a |作業中 |1 2 |b |作業中 |0 3 |c |作業中 |0 4 |d |作業中 |0 5 |e |作業中 |0 『No』と『名称』が同じものをまとめ、 状態が準備中のものをカウントして数としてレコード内に入れたいです。 postgresのバージョンは8.2、 pgAdminのバージョンは1.6.3 です。 何か方法をご存知の方がいらっしゃいましたら回答いただきたく思います。 不足な点があれば指摘してください。補足させていただきます。 以上です、よろしくお願いします

  • 検索結果中のキーワードを色を付けて表示する。

    お世話になります。 MS-Access と ASP を連携させ、入力フォームからキーワードを入力し、データベース内を検索できるWebサイトを作ろうとしています。 検索結果を表示する際に、検索キーワードだけ、色をつけて(例えば、赤色で)表示したいと考えていますが、その方法が分かりません。 方法、または、参考になるページをご存知でしたら、教えてください。 よろしくお願いします。

  • PostgreSQL検索

    今、htmlから値を送り、servletから、PostgreSQLへの検索処理ができず困っています。 状態としては、結果が真っ白な画面になり、ソースを見てみると、 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META content="text/html; charset=shift_jis" http-equiv=Content-Type></HEAD> <BODY></BODY></HTML> となります。 JDBCは、Webサーバである、JRunでデータソースの設定をしました。 そして、その中で、JDBCのテストでPostgreSQLへの接続はできました。 servletは、1度、Accessへの検索処理を行えるもので、urlを変更して利用しようと思いまして、 Access時           Driver名  sun.jdbc:odbc.JdbcOdbcDriver        servlet url   "jdbc:odbc:test"; ODBCデータソース名   test PostgreSQL時          Driver名 org.postgresql.Driver        servlet "jdbc:postgresql://127.0.0.1:5432/PostgreSQL JDBCデータソース名  PostgreSQL 環境は、 win2k PostgreSQL-win32版      JDK-1.3 JRun 3.0 全てローカルです。 参考HPでもかまいませんので、ご教授お願いします。 

    • ベストアンサー
    • Java
  • もっとも新しいレコードから検索する方法

    MySQLにデータを登録しており、PHPにてWebサイトにデータを表示しています。SQLはSELECT * FROM TABLE WHERE .... なんですが、この場合一番初めのレコードから順に表示されてしまうため、古いデータがはじめに、新しいデータが最後尾に表示されてしまいます。 これを解消するため最後尾のレコードから検索するにはどうしたらよいのでしょうか?又、カテゴリが異なってしまいますが、PHPでもっとよい方法などございましたらお願いします。

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

    vbの初心者です。質問です。 ある特定の条件を2つ満たしたレコードを検索して、 そのレコードをカレントレコードとしたいのですが... 条件が一つであれば、FindFirstを使って、 *-------------- 変数宣言は省略 *-------------- Set db = DBEngine.Workspaces(0).OpenDatabase("データベース名") Set rsDAO = db.OpenRecordset("テーブル名", dbOpenDynaset) kensaku = "irai_no = '100'" rsDAO.FindFirst kensaku などとすれば、テーブルのirai_noフィールドが "100"の最初のレコードがカレントレコード となるというのはわかっているのですが... それでは、もう一つ条件として"gyosya_nm='ABCD'"も満たす、つまり 2つの条件を満たすレコードを検索するにはどうすれば良いですか? できれば、一つの命令でお願いしたいです。 宜しくお願い致します。

  • 2万件のデータを最も高速に検索する方法

    知恵をお貸し下さい。 2万件ほどの飲食店のデータを 店名や、住所などの条件で検索した結果を表示するような Webサイトの構築を考えているのですが、 このような検索をする際に最も高速に検索できる方法は どんな方法なのでしょうか? 私が考えられる方法としては、 1、データをテキストファイルにしてPHPを記述して検索する。 2、データをテキストファイルにしてPerlのCGIから検索する。 3、データベース(PostgreSQL)からPHPを記述して検索する。 4、データベース(PostgreSQL)からPerlのCGIから検索する。 と、これぐらいしか思い浮かばないです。 WEBサーバーの環境としては、 LINUX、Apache Perl使用可 PHP使用可 PostgreSQL使用可 理由も添えて教えて頂けるとうれしいです。 以上、よろしくお願いします。

    • ベストアンサー
    • CGI