プロが教える店舗&オフィスのセキュリティ対策術

ホームページの中に、資料絞込検索と閲覧のできるページを作りたいと思っています。

ページイメージとしては、最初に全レコードのあるインデックスが表示され、ページ上に設けた検索窓に絞込ワードを入力すると、あいまい検索でこのワードを含む詳細レコードが表示され、その詳細レコードには、資料PDFのURLがあって、クリックすると資料を閲覧できるというものです。

資料のデータレコードには、CSVなどを用いて、ページからこのレコードを表示したいと思っています。コードサンプルなどご提供いただけますと有難いと思っています。

よろしくお願いします。

A 回答 (4件)

PHPが扱えるという前提で、こんな関数を使って簡単に構築できます。



※ポイントとなる基礎的な関数だけです。
※テストしていないのでBUGってる可能性があるので適当に修正してください。
※あくまで基礎的なので、必要に応じロジックは組み込んでください。

-------------
CSV STRUCTURE
-------------
<Category>,<PdfName>,<Title>,<Comment>[CR/LF]
だと仮定してCsvは"Category">"PdfName"順にならんでいる。

-------------
CREATE INDEX
-------------
この関数で返ってきたindexを表示し、
選ばれたら下記の"SEARCH RECORDS"を参考に同じカテゴリーのみのレコードを返し
検索されたレコードを表示させればOK

function create_index($csv){
 $index=Array();
 $break="";
 if( $handle = fopen($csv, 'r' ) ){
  while( !( $lines = fgetcsv( $handle ) )){
   if(!$lines[0]=$break){
    $index[] = $lines[0];
   }
  }
 }
 // 必要であればここで$indexをSORTする
 return $index;
}
--------------
SEARCH RECORDS
--------------
キーワード検索の場合、この関数でcsvを調べてキーワードの
部分一致しているレコードを抽出します。

function search_records($keyword){
 $records=Array();
 if( $handle = fopen($csv, 'r' ) ){
  while( !( $lines = fgetcsv( $handle ) )){
   if (preg_match("/$keyword/", $lines[3])) {
    $records[]=$line; //csv一行返す
   }
  }
 }
 // 必要であればここで$recordsをSORTする
 return $records;
}
    • good
    • 0
この回答へのお礼

singlecatさん
回答ありがとうございます。

PHPは勉強したことがないので、この前後のHTMLの書き方も含めて勉強してみるようにします。

お礼日時:2012/06/22 11:48

Perlでも考え方は同じですよ

    • good
    • 0
この回答へのお礼

singlecatさん
ありがとうございます。
まず、本を買うようにします。

お礼日時:2012/06/22 18:17

いわゆる簡易ナビと呼ばれるシステムです。


CGI RESCUE チャレンジCGI - 簡易データベースII ( http://www.rescue.ne.jp/cgi/database2/ )
CGI RESCUE チャレンジCGI - 簡易データベース ( http://www.rescue.ne.jp/cgi/database/ )
【フリー CGI】 「ファイル簡易検索」 CGI版 by CGIKON ( http://cgikon.com/free_info/detail_381.html )
とか・・

簡易ナビ or 簡易検索 cgi - Google 検索 ( https://www.google.co.jp/#hl=ja&safe=off&sclient … )

 カスタマイズには、ある程度の知識が必要です。
    • good
    • 0
この回答へのお礼

ORUKA1951さん
ありがとうございます。
サンプルのCGIを真似してみようと思います。

お礼日時:2012/06/22 11:45

そのホームページでは、何(PHP/Perl...など)何が利用できるのでしょうか?


その資料のデータは随時更新されるものなのでしょうか?

この回答への補足

singlecatさん確認ありがとうございます。

使っているプロバイダは、OCNです。
Perlも多分使えるのだろうと思いますが、PHPは現在使っていますので問題なく利用できると思います。
よろしくお願いします。

補足日時:2012/06/21 13:28
    • good
    • 0

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