サイトマップ

マルウェア関連以外のトピックス

AmigoDatabaseの検索フォームの設定方法

AmigoDatabaseの検索フォームの設定についてこのページに纏めます。
というか、このページ自体が一つの検索フォームになっていますので、ソースを見てもらえるとより解りやすいかもしれません。

検索フォームの最初にある定義

このページのソースを見て頂くと、その最初の部分にこんな記述があります。

<INPUT type="hidden" name="cmd" value="s">
<INPUT type="hidden" name="Tfile" value="">
<INPUT type="hidden" name="HTML" value="">
<INPUT type="hidden" name="DataHtml" value="">
<INPUT type="hidden" name="TrColor" value="#ffffff,#e8ffe8">

これらの意味は、

<FORM action="database/database.cgi" method="POST">
検索ボタンが押されたときの動作を定義。検索フォームからdatabase.cgiまでのパスを「action=」に入力。

<INPUT type="hidden" name="cmd" value="s">
「cmd」に「s」を入力し、検索であることをdatabase.cgiに知らせる

<INPUT type="hidden" name="Tfile" value="">
データ、ユーザーどちらのDBを検索対象にするかを定義。ユーザーDBの場合は「value="User"」。「value=""」だとデータDB。

<INPUT type="hidden" name="HTML" value="">
検索結果ページのHTMLファイルを指定。「value=""」の場合は「lib/template/result/default.html」が使用される。
他のフォームを使う場合は、「lib/template/result/」に置いて、value="defarult2.html"の様に指定。

<INPUT type="hidden" name="DataHtml" value="">
これはデータ1件分のデザインに「database/lib/db-html.cgi」で定義したどのタイプを使用するかを指定。
「value=""」の場合はHtml_Defaultが使用される。それ以外は「value=Html_1」のように設定

<INPUT type="hidden" name="TrColor" value="#ffffff,#e8ffe8">
検索結果一覧ページのテーブル色を交互にしたい場合に、2種類の色を「,」で区切って設定する。

実際の検索フォーム

・ いくつか簡単な例を挙げます。

特定の項目をキーワードで検索

HijackThisエントリ :

<INPUT size="8" type="text" name="S_1_Key_Hijack">
<INPUT type="hidden" name="Type_1" value="Normal-or">

<INPUT size="8" type="text" name="S_1_Key_Hijack">
検索条件番号をダブらない様に適当に決めます。この場合は「1」。「Key」はテキストを表し、数値の場合は「Num」。検索項目は「Hijack」。

<INPUT type="hidden" name="Type_1" value="Normal-or">
name="Type_検索条件番号" value="[一致タイプ]-[and,or指定]"の形式で設定。

一致タイプは、データタイプ(NumかKeyか)によって違います。

Num(数値) Key(テキスト)
More 以上 Normal キーワードを含む時に一致
Equal 完全一致 Equal キーワードと完全一致の時に一致
Less 以下 Head キーワードを頭文字に含む時に一致
    Foot キーワードを文末に含む時に一致

・ オプション選択ができるようにしたもの

  複数は半角スペースで区切る


<INPUT size="25" type="text" name="S_2_Key_Multi">&nbsp;<SELECT name="Type_2">
<OPTION value="Normal-or" selected>いずれかを含む</OPTION>
<OPTION value="Normal-and">全てを含む</OPTION>
<OPTION value="Equal-or">完全一致する</OPTION>
<OPTION value="Head-or">いずれかを頭文字含む</OPTION>
<OPTION value="Foot-or">いずれかを文末に含む</OPTION>
</SELECT> に <SELECT name="Not_2">
<OPTION value="0" selected>該当する</OPTION>
<OPTION value="1">該当しない</OPTION>
</SELECT> <FONT color="#FF0066" style="font-size : 8pt;">複数は半角スペースで区切る</FONT><BR>
<SELECT multiple name="Target_2" size="3">
<OPTION value="Hijack" selected>HijackThisエントリ</OPTION>
<OPTION value="Midashi">概要(見出)</OPTION>
<OPTION value="Comment">説明/対処法</OPTION>
<OPTION value="Category">カテゴリ</OPTION>
<OPTION value="Syori">推奨する処理</OPTION>
<OPTION value="Del">コンパネからの削除</OPTION>
<OPTION value="Name">名称</OPTION>
</SELECT>

・ 複数のフィールドに対してキーワード検索する場合

キーワード :   複数は半角スペースで区切る



<INPUT type="hidden" name="Target_2" value="Category,Comment,Del,Hijack,Memo,Name,Rurl,Midashi,Shitsu,Ryo,Syori,Vname,Vurl">
キーワード : <INPUT size="25" type="text" name="S_2_Key_Multi">&nbsp;<SELECT name="Type_9">
<OPTION value="Normal-or" selected>いずれかを含む</OPTION>
<OPTION value="Normal-and">全てを含む</OPTION>
<OPTION value="Equal-or">完全一致する</OPTION>
<OPTION value="Head-or">いずれかを頭文字含む</OPTION>
<OPTION value="Foot-or">いずれかを文末に含む</OPTION></SELECT> に <SELECT name="Not_9">
<OPTION value="0" selected>該当する</OPTION>
<OPTION value="1">該当しない</OPTION></SELECT> <FONT style="font-size=-1">複数は半角スペースで区切る</FONT>

この場合は、「Category,Comment,Del,Hijack,Memo,Name,Rurl,Midashi,Shitsu,Ryo,Syori,Vname,Vurl」のフィールドのすべてを検索対象とします。

その他色々なフォーム

CGIに付属している「sample.html」を見ると、色々便利な例がありますので、そこからコピーしてちょっとだけ修正すれば応用できるはずです。
また、readme.txtの中の「◎設置手順8 − 検索フォームの作成」にも詳しい解説がありますのでそちらもどうぞ。


【AmigoDatabase簡易設定法に戻る】