Symfoware Server WebDBtoolsユーザーズガイド - FUJITSU -
|
目次
索引

|
6.6.5 データ検索:絞込み検索

■処理の内容
指定された文字列をデータベースから検索し、検索結果を表示します。検索結果が不十分の場合、絞込み条件を設定して再度検索し、検索結果を表示します。
■サンプルプログラム
demo.html
・・・
<FORM ACTION="/cgi-bin/wit_fmtr" METHOD="POST">
<INPUT TYPE="HIDDEN" NAME="WIT_html" VALUE="demo_fmt.html">
名称:<INPUT TYPE="TEXT" NAME="Name1"><BR>
<INPUT TYPE="SUBMIT" NAME="Search" VALUE="検索">
</FORM>
・・・ |
demo_fmt.html
・・・
<!IF '!defined(cond) '>
<!UNDEFVAR cond>
<!/IF>
<!VAR cond SCOPE="GLOBAL" VALUE="名称 LIKE '%$QUERY::Name1%'">
<!DO "SELECT 名称,地域,所在地,電話番号 FROM WL_SCHEMA.保養所
WHERE 名称 LIKE '%$QUERY::Name1%'" RESULT=rslt ONERROR="ERROR1">
・・・
<FORM ACTION="$SYSTEM::FMTR" METHOD="POST">
<INPUT TYPE="HIDDEN" NAME="WIT_html" VALUE="shibori_fmt.html">
名称:<INPUT TYPE="TEXT" NAME="Name1"><BR>
<INPUT TYPE="SUBMIT" VALUE="さらに検索">
</FORM> (1)
・・・ |
(1) 絞込み条件の設定
絞込み条件として、新しく追加された文字列を“Name1”に設定し、shibori_fmt.html に引き継ぎます。
shibori_fmt.html
<!SETVAR cond "名称 LIKE '%$QUERY::Name1%' AND $cond"> (2)
<!DO "SELECT 名称,地域,電話番号 FROM WL_SCHEMA.保養所 WHERE $cond" RESULT=rslt> (3)
<TABLE BORDER=1>
<TR>
<TD>名称</TD>
<TD>地域</TD>
<TD>電話番号</TD>
</TR>
<!FOREACH rslt t>
<TR>
<TD>
<!SETVAR vName 'URLencode(t{名称}) '>
<A HREF="$SYSTEM::FMTR?WIT_html=media.html&Name=$vName">
<!HREPLACE 't{名称}'></A>
</TD>
<TD><!HREPLACE 't{地域}'></TD>
<TD><!HREPLACE 't{電話番号}'></TD>
</TR>
<!/FOREACH>
</TABLE> (4) |
(2) 検索条件の設定
現在の検索文字列“cond”と新しい検索文字列“Name1”をANDで関連付けして、再度“cond”として設定します。
(3) データベースの検索
“cond”に設定された文字列条件としてデータベースを検索し、結果を“rslt”に格納します。
(4) 検索結果の表示
検索した情報の名称、地域、電話番号をすべて表示します。
■解説
demo_fmt.html から検索に利用した“cond”と、絞込み検索のために、新しく設定された文字列を“Name”に格納し、データベースを検索するためにshibori_fmt.html へ処理を引き継ぎます。shibori_fmt.html では、demo_fmt.html から引き継いだ“cond”と“Name1”の2つの文字列でデータベースを検索し、結果を表示します。

現在の検索文字列と新しく設定した文字列を“AND”で結ぶことで、絞込み検索を行うことができます。
All Rights Reserved, Copyright(C) 富士通株式会社 2005-2006