• 締切済み

DBとHTMLファイルを検索したい

PHP+MYSQLででDBの検索機能を作成しました。 現在問題なく動くのですが、DBだけでなくHTMLファイルに書かれた文字列の検索も一緒にできるように改造したいのです。 例えば検索条件1が山田、検索条件2が太郎として、 テーブルに[山田]、HTMLファイルに[太郎]があるものを検索結果としてヒットさせたいです。 テーブルのデータとHTMLファイルを結ぶ条件としてテーブルにID項目があり、例えばIDが1234だったら1234.htmlというファイルが必ず1つだけ存在します。 データの数は現在30程度ですが、今後増え続けます。 HTMLファイルは大体20kbほどあります。 ヒットしたデータのIDと同じ名前のHTMLファイルを1つ1つstrrposを使って調べるとなるとやはり処理は重くなりますか? ちょっと説明がわかりにくいかもしれませんが、何か良い方法はないでしょうか。 アドバイスお願いします。

みんなの回答

回答No.2

補足をお願いします。 ・検索条件1は複数のIDを持っていて、そのIDリストの中から指定したIDに関連付けられたHTMLファイルに対して、検索条件2の文字列でHTMLファイル内を検索していくという事ですか? ・HTMLファイルは定型フォーマットに置き換えられる? 上記のような状況なら、HTMLのテンプレートを用意して、 DBに 条件1テーブル:[FIND1_TEXT][HTML_ID] 条件2テーブル:[FIND2_TEXT] HTMLテーブル:[HTML_ID][CONTENT1][CONTENT2] といったテーブルをつくり該当HTMLの内容に対して検索をかけ、 マッチした[CONTENT]をテンプレートに差込む事はできませんか。 まあ、検索結果はHTMLファイル名ではなくHTML_IDになりますが・・・。

  • tukai
  • ベストアンサー率14% (2/14)
回答No.1

ちなみに、HTML=ソースそのもの HTMLファイル=HTMLが入るはずのファイルとします それは難しいですが、HTMLファイルを検索したいなら、HTMLのソースそのものを一つのレコードとして、HTMLを表示する方法は、ページが開かれた時に、SELECT文かなんかで、目的のHTMLを検索して検索結果を本体のHTMLファイル(開かれたページ)に書き込むようにしたら実現しそうだと思うのですが。。 (実際試していないし、負担も大きそうだが) ちなみにわざわざ、HTMLをレコードとする理由は、やはり検索できる様にしたいからですね。 とりあいず、検索結果にリンクする方法は、本体のファイルにリンクすればいいのです まぁ解答になっていませんがよければ試してみてください

kamay
質問者

お礼

ありがとうございます。 HTMLファイルは既に出来ているものですので、 DBの方に中身を移行する事はちょっと無理そうです…