HTML+PHP+MySQL検索画面構成について

このQ&Aのポイント
  • HTML+PHP+MySQLを使用して検索画面を構成する方法について教えてください。
  • 検索条件入力域と検索ボタンを含むHTMLファイルと、検索結果を表示するPHPファイルを作成します。
  • 検索ボタンを押下した際に呼び出すPHPファイル内には、検索条件を取得し、MySQLからデータを取得して結果を表示する処理を記述します。
回答を見る
  • ベストアンサー

html+php+mysql検索画面構成について

お世話になります。 htmlからphpを呼びmysql結果を表示したいのですが ファイル構成について教えてください。 イメージとしては、下のようなものが1ページに表示されます。 ---------------- ・検索条件入力域 ・検索ボタン ---------------- 検索結果表示域 ---------------- 1.検索結果には初回アクセス時に条件なしの結果が表示されます。 2.検索ボタンを押下すると、検索結果のみ再描画されます。 このような処理をしたいのですが、ファイル構成としてはどうすればよいでしょうか。 今考えているのは main.html ----------- 検索フォーム記載 -- (1) 検索.php呼び出し(初期表示 ----------- 検索.php --------- mysqlからデータ取得し出力 --------- です。 ここでイメージができないのですが 検索ボタン押下時に呼ぶファイルは別途作成する必要がありますか? 仮に検索.phpに渡すとしたら、検索.php内にmain.htmlの(1)を記載しなくては いけないのではと思ってます。 もっとスマートな構成があると思うので、熟練者の方ご教示お願いします。

  • HTML
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5081/13277)
回答No.2

> 自分自身を呼ぶというのがポイントですか? そういう事です。 検索条件を生成する所で判定を一つ入れるだけで済むので、わざわざ分けて複数作る必要はありません。 $Sql = "select * from hoge"; if (isset($_POST['条件']) && $_POST['条件'] != '') { $Sql .= " where key = '" . $_POST['条件'] . "'"; } $Sql .= " order by xx"; みたいな感じでSQL文を生成するようにすれば、ひとつのロジックで対応できます。 (端折ってますがPOSTされてきた値のエスケープ処理はちゃんとやってくださいね)

appplus2
質問者

お礼

ありがとうございました! イメージできましたのでチャレンジしてみます。

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5081/13277)
回答No.1

検索.phpひとつでいいと思います。 検索.php内で、フォームから値が送られてきたら条件付き検索、フォームから何も送られてこなければ条件なしで検索(全件出力)とすれば、処理としてはどちらも同じ流れになりますよ。

appplus2
質問者

補足

ご回答ありがとうございました。 ちょっとフォーム(というか色々と)の勉強中なので違ってたら指摘お願いします。 >検索.phpひとつ つまり、検索.php内に下記のように記載して <HTML> <HEAD> </HEAD> <BODY> <form action="検索.php" method="post"・・・ 検索条件 </form> <?php DB接続 検索 結果出力 等々 ?> </BODY> という感じでしょうか? 自分自身を呼ぶというのがポイントですか?

関連するQ&A

  • PHP+MySQLで検索ページを作りたい

    こんにちわ。 全くの素人ですが質問させてください。 私は今、PHPとMySQLを使って論文の検索ページを作りたいと考えているのですが、どうにも分りません。 ページの概要としては、条件を入力して、検索するとそれに見合ったものが出てくるようにする。また、その論文のタイトルをクリックすると論文がPDF形式で保存してあるのですがそれを表示させるようにしたいと思っています。 ApacheとPHPとMySQL間の設定方法がわかりませ。 PDFファイルの扱いもいまいちわかりません。 OSはFedoraCore6を使用しています。 作り方の参考になるようなページなども紹介していただけるとうれしいです。よろしくお願いします

    • 締切済み
    • PHP
  • PHP+mysqlでの検索について

    データベースの方で同じ質問をしましたが、カテゴリー的にはこちらの方が適当だと感じましたので、再度このカテゴリーで質問させていただきます。 以前、このカテゴリー内で「MYSQLで違う検索結果が出てしまいます。」という質問をした者です。 再度同じような壁にぶつかってしまい悩んでいます。 具体的には以下のよう状態です。 テスト環境(会社のパソコン) PHP4.2.3 mysql4.0.5 検索結果~異常なし 公開環境(レンタルサーバー) PHP4.1.2もしくは4.2.1(サーバーによって違うということです) mysql3.23.46 検索結果~正しい検索結果が出ない となっています。 検索語がカタカナor漢字の場合は正常に動作するのですが、ひらがなだと「な」と「に」、「に」と「り」などがごちゃごちゃになるらしく、 例えば、検索語で「うに」と入れると「うに」と「うり」が検索結果として返ってくるのです。 文字コードの設定かとも思ったのですが、テストの環境の方では正しい検索結果が出ていますし、mysql内の文字コードもテスト環境はもちろんですが、レンタルサーバーの方でも「文字コードにEUC文字コードを利用して下さい」ということから、テスト環境と同じく default-character-setはujisになっていると思われます。 あとはPHP・mysqlのバージョンの違いくらいしか思い当たるところがありません。 どなたかアドバイスいただけるとありがたいです。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • MySQLのあいまい検索について

    MySQLのあいまい検索について いつもお世話になっております。 本日はMySQLのあいまい検索について質問させていただきます。 あいまい検索といっても like での検索ではなく バとヴァ・ブとヴ・全角ハイフンと半角ハイフンなどを 同じとみなして検索することはできるのでしょうか。 たとえば、データベースには「ラブ」と登録されているが 検索キーワードは「ラヴ」と入力された場合、検索結果に「ラブ」の行を表示したいです。 PHPとMySQLで開発をするのですが、MySQLではなくPHPの処理になるのでしょうか。 カテゴリ違いでしたら申し訳ありません。 よろしくご教示お願いいたします。 [環境]  MySQL:5.0.45  PHP:5.1.6

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

    現在html、PHP、MySQLを使い検索システムの作成を行っているのですが、検索をしてMySQLより所得した結果何件表示されました、という感じにしたいです。 yahooでPHPで検索すると約11,440,000,000件みたいに。 やり方が分からなく何か参考になるサイトなどがありましたら教えていただきたいです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPとMySQLについて

    PHPとMySQLについて PHP、MySQLともに初心者の者です。 ネットの情報を参考に以下のようなプログラムを作成しました。 <?php //ファイルを読み込み require_once("DB47.php"); // クエリを送信する $sql = "SELECT * FROM japanDB ORDER BY PREF_CD"; $result = executeQuery($sql); //結果セットの行数を取得する $rows = mysql_num_rows($result); //表示するデータを作成 if($rows){ while($row = mysql_fetch_array($result)) { $tempHtml .= "".$row["PREF_CD"]." ".$row["PREF_NAME"]." "; $tempHtml .= "\n"; } $msg = $rows."件のデータがあります。\n\n"; }else{ $msg = "データがありません。\n\n"; } //結果保持用メモリを開放する mysql_free_result($result); ?> <?= $msg ?> <?= $tempHtml ?> これはデータベースに 1、北海道 2、青森 ・  ・ ・  ・ ・  ・ 47、沖縄 といった情報を与えており、PHP側でMySQLに接続し、その内容をコマンドプロンプト上で表示するといったものです。 しかし、PHPプログラムを実行してしまうと、全データが一気に表示されてしまうので、見づらいものとなっています。 そこで、地名や番号を入力すれば、地名を表示するような検索機能を付けたいのですが、PHPからMySQLデータベース内を検索する方法が分かりません。検索機能をこのプログラムに組み込みたいのですが・・・。 どなたかご教授お願いいたします。 ***環境*** OS : Windows XP Pro PHP4.2.3 、MySQLインストール済み **********

    • ベストアンサー
    • PHP
  • PHP 検索結果のCSVダウンロード

    PHPを使用しています。 管理画面で検索結果を「ダウンロード」ボタン押下で CSV出力させたいのですが、 一度表示させた「検索結果」のみを後からCSV出力させるロジックが不明で困っております。 例えば、ボタン押下で入力フォームの内容でもう一度DBを検索させる? などが 考えられるのですが・・・

    • ベストアンサー
    • PHP
  • php mysqlで条件検索したいが学び方は

    http://www.asakusa-chintai.com/list.php?foot_station=-1&yachin_low=-1&yachin_hi=-1&menseki_low=-1&menseki_hi=-1&pict=1&search_start=1 このサイト(下に検索フォームがあります)のように、複数条件で検索すると画像付きで横4列くらいで結果が返ってくる、さらに20件ごとに改ページといったようなものを作りたいと考えています。 そこで質問なのですが、phpとmysqlを使うことでこのようなページ、またデータベースにデータを登録するようなシステムはできるでしょうか? phpとmysqlを勉強すればできるようになるのではと考え、phpの基礎の本は一冊読み、簡易ブログシステムを作った程度の(といってもサンプルプログラムを少しいじって動かした程度ですが)ことはしたのですが、これから何を勉強すればいいのかわからなくなりました。 特にphpやmysqlを勉強したいわけではなく、上記のようなページを作成することが目的なので、できればphpやmysqlを体系的に学ぶというよりは、上記のページを作成するために必要な技術だけ学びたいです。 これから何を学べばできるようになるでしょうか? それとも、これは相当に難しい事で、年単位で勉強しなければできないものなのでしょうか?

    • ベストアンサー
    • PHP
  • PHP/MySQLであいまい検索を

    HP上のテキストボックスに文字を入力し、その値をPHPでMySQL上のデータベースよりあいまい検索をし 該当するデータを表示したいのですが、私の検索キーワードが悪いのか、いいサンプルソースが見つけられません。 MySQLのREGEXP関数を使ってあいまい検索を 行うサンプルは見つけたんですが、これは日本語対応では なく検索文字列によってはうまく検索できない場合が あると聞きました。 何かよいサンプルがあったらURLもしくは ソースをそのままで結構ですので貼り付けていただければ 助かります。 では、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPで検索ボタンを押さずに検索結果を返したい

    初めて質問させていただきます。 今、独学でPHP・MySQL・HTMLを使って、 検索結果を表示する画面を作っています。 作っているプログラムは、こんな感じです。 ================================================ xxx.php ================================================ <?php ここで、入力のエラーチェック MySQLに接続 入力したコードに対応するデータを取得 ?> <html> <form action="xxx.php" method="post"> <input type="text"> <select name="XX1"></select> <select name="XX2"></select> <input type="submit" name="submit" value="検索"> </html> ================================================ このプログラムでは、テキストタイプの部分にコードを 入力し、selectの部分で各項目を選択して、 最後に検索ボタンを押すと、 エラーチェックをした後に、検索結果のデータを データベースから取得してHTMLで表示します。 毎回、検索ボタンを押すという動作を減らすため、 SELECTの部分が変わったら、 検索ボタンを押さなくても、上のPHPで記述されて いる部分の処理に飛ばす方法がないかなあと 思いまして質問しました。 イメージ的にはJavaScriptの、onchangeみたいなものなのですが、何かいい方法は ないでしょうか? 以前似たような質問があったかもしれませんが、 すみませんがよろしくお願いいたします。

    • ベストアンサー
    • CSS
  • PHPとMySQLによるデータ検索サイトを作ってます

    index.html(検索フォーム) list.php(検索結果表示ページ) 上記2ファイルでPHPとMySQLによるデータ検索サイトを作ってます。 初心者のため、勉強用に作ってます。 pearというライブラリを使用しないで以下の表現をするためにはどのようなコーディングが必要でしょうか? 参考になるサイトなどあればご教授ください。 PHPの上級者が見るようなマニュアルサイトだとその説明すら解読できない可能性があるので、噛み砕かれたサイトを探してます。 [知りたいこと] セレクト文で引っ張ってきたレコード数が25件として 検索結果表示ページには10件ごとに改ページさせたいです。 ↓このような改ページリンクを作りたいです。 [< 1 2 3 >] ↓またはこのようなリンクでもご教授いただけたら幸いです [前ページ│次ページ]

    • ベストアンサー
    • PHP

専門家に質問してみよう