- ベストアンサー
資料閲覧ページの作り方を教えてください。
ホームページの中に、資料絞込検索と閲覧のできるページを作りたいと思っています。 ページイメージとしては、最初に全レコードのあるインデックスが表示され、ページ上に設けた検索窓に絞込ワードを入力すると、あいまい検索でこのワードを含む詳細レコードが表示され、その詳細レコードには、資料PDFのURLがあって、クリックすると資料を閲覧できるというものです。 資料のデータレコードには、CSVなどを用いて、ページからこのレコードを表示したいと思っています。コードサンプルなどご提供いただけますと有難いと思っています。 よろしくお願いします。
- みんなの回答 (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; }
その他の回答 (3)
- singlecat
- ベストアンサー率33% (139/418)
Perlでも考え方は同じですよ
お礼
singlecatさん ありがとうございます。 まず、本を買うようにします。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
いわゆる簡易ナビと呼ばれるシステムです。 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=psy-ab&q=%E7%B0%A1%E6%98%93%E3%83%8A%E3%83%93+OR+%E7%B0%A1%E6%98%93%E6%A4%9C%E7%B4%A2+CGI&oq=%E7%B0%A1%E6%98%93%E3%83%8A%E3%83%93+OR+%E7%B0%A1%E6%98%93%E6%A4%9C%E7%B4%A2+CGI&aq=f&aqi=&aql=&gs_l=hp.3...6660.11799.3.12138.12.12.0.0.0.2.645.2070.1j9j1j5-1.12.0...0.0.3rG36cEo1jc&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb&fp=b13c8e7826cbed54&biw=1024&bih=615 ) カスタマイズには、ある程度の知識が必要です。
お礼
ORUKA1951さん ありがとうございます。 サンプルのCGIを真似してみようと思います。
- singlecat
- ベストアンサー率33% (139/418)
そのホームページでは、何(PHP/Perl...など)何が利用できるのでしょうか? その資料のデータは随時更新されるものなのでしょうか?
お礼
お礼の操作漏れでした。
補足
singlecatさん確認ありがとうございます。 使っているプロバイダは、OCNです。 Perlも多分使えるのだろうと思いますが、PHPは現在使っていますので問題なく利用できると思います。 よろしくお願いします。
お礼
singlecatさん 回答ありがとうございます。 PHPは勉強したことがないので、この前後のHTMLの書き方も含めて勉強してみるようにします。