戻る

5.検索ページ(sample.html)の変更

検索フォームを作成します。

検索フォームだけは他のページと違い通常のHTMLファイルとなります。
つまり自由なページにフォームをいくつでも設置できます。(同梱のsample.htmlを参考にして下さい)

 

@ <FORM action="database.cgi" method="POST">のdatabase.cgiへのパスを設置場所に応じて変更します。
 
A <INPUT type="hidden" name="Tfile" value="">
   これはユーザー,データどちらのファイルをベースとした検索かを指定します。
   データファイルベースの場合は上記のまま、ユーザーファイルベースの場合はvalue="User"とします。
 
B <INPUT type="hidden" name="HTML" value="">
   これはAmigoDatabaseでは検索結果ページを何パターンで
   も用意できる為、この設定でテンプレートファイルを指定し
   ます。
   ※***.htmlのようにファイル名のみ設定します。
   ※この検索結果用テンプレートファイルは
   template/resultディレクトリ内にある必要があります。
   ※これによりカウント数の多い順(人気ランキング)のページ
   や登録順(新着情報)のページや最近更新されたデータの
   ページ等様々なページを表示できます。
   ※value=""の場合はdefault.htmlが使用されます。
C <INPUT type="hidden" name="DataHtml" value="">
   これはデータ1件分のデザインにどのタイプを使用するか
   を指定するものです。
   デザインの編集は(◎データ1件分デザイン設定法)を参照
   ※value=Html_1のように設定します。
   ※value=""の場合はHtml_Defaultが使用されます
D <INPUT type="hidden" name="TrColor" value="#ffffff,#e8ffe8">
   これは検索結果一覧ページの各データのテーブル色を交互に違う色を
   利用したい場合に設定します。2種類の色を,で区切って設定します。
 


検索用のフォーム部品を設定します。

<INPUT type="***" name="S_1_Num_Count">のように

<INPUT type="***" name="S_検索条件番号_データタイプ_検索対照データ種類">の形式で設定します。
    ※検索条件番号は任意の数字で構いませんが同じ数字を使用しないよう注意して下さい。
    ※ユーザーファイルを対象とする検索条件の場合は
       <INPUT type="***" name="S_検索条件番号_データタイプ_検索対照データ種類_U">とします。
    ※データタイプは「
Num」か「Key」でNumは数値でKeyは文字列となります。
また検索対照データ種類には「Multi」と指定する事もできます。
    Multiとすると
<SELECT multiple name="Target_検索条件番号">のようにして
    他の部品から検索対照データ種類を複数選択させる事ができます。
    HIDDENで固定する場合は
    <INPUT type="hidden" name="Target_検索条件番号" value="検索対照データ種類(,で区切る)">
    と記述します。

 

データタイプがNumの場合のみ1つの検索条件で数値範囲検索が可能です。
   
<INPUT type="*****" name="S_検索条件番号_Num_検索対照データ種類" value="1〜100">
   のように指定します。
   以下のみの場合は value="*〜100" のように指定します。
   以上のみの場合は value="100〜*" のように指定します。
 
各検索条件毎に検索タイプを指定します。
   
<INPUT type="hidden" name="Type_1" value="Normal-or">のように
   <INPUT type="hidden" name="Type_検索条件番号" value="[一致タイプ]-[and,or指定]">
   の形式で設定します。
一致タイプはデータタイプがNumの場合は
    
More,Equal,Lessの3種類が指定できます。
  
More=以上(入力された数値以上の時に一致)
  
Equal=完全一致(入力された数値と完全一致の時に一致)
  
Less=以下(入力された数値以下の時に一致)
データタイプがKeyの場合は
      Normal,Equal,Head,Footが指定できます。
   
Normal=キーワードを含む時に一致
   
Equal=キーワードと完全一致の時に一致
   
Head=キーワードを頭文字に含む時に一致
   
Foot=キーワードを文末に含む時に一致
 
and,or指定は
  
and=全てを含む(全てに一致する)
  
or=いずれかを含む(いずれかに一致する)
となります。

 

検索条件毎に一致か不一致(NOT)かを指定します。

  その検索条件を含まない時にHITさせたい場合は
    
<INPUT type="*****" name="Not_1" value="1"> のように
    <INPUT type="*****" name="Not_検索条件番号" value="1"> とします。
    ※通常の一致検索の場合はこの設定自体必要ありません。

 

例外的なものとしてデータタイプDateというものがあります。
     このDateの場合は検索対照データ種類にはRtimeかUpTimeしか指定できません。
    ※Rtimeは登録日時,UpTimeは更新日時です。
    ※検索タイプは指定できません。
    ※Dateの場合自動的に(入力された数値)時間前のデータを検索します。
     つまり検索対照データ種類がRtimeの場合
     5と入力されると5時間以内に登録されたデータに一致します。

 

オプションとしてチェックボックス複数選択によるキーワード検索が出来ます。
その場合<INPUT type="hidden" name="Option_検索条件番号" value="checkbox"> と記述します。
※各チェックボックス側には
<INPUT type="checkbox" name="S_検索条件番号_Key_検索対照データ" value="キーワード">
という形式で必要なキーワード分記述します。
※チェックボックス全体で1つの検索条件になるので
全て同じ検索条件番号と検索対象データを指定します。



検索結果を任意のデータの数値順,文字列順にソートできます(降順,昇順)
ソート条件を指定するには
<SELECT name="Sort"><OPTION value="Num_Count">のように
<OPTION value="ソートタイプ_ソート対象データ種類">の形式で設定します。
 ソートタイプには
Num,Wordが指定できます。
   ※
Numは数値順,Wordは文字列順です。
   ※登録日時でソートする場合は
Num_Rtime
    更新日時の場合は
Num_UpTimeとなります。
   ※ユーザーファイルのデータでソートする場合は

      <OPTION value="ソートタイプ_ソート対象データ種類_U">とします。
   ※<OPTION value="Point">とすると通常ソートを行います。
    通常ソートはマークデータとカウント数によるソートです。