
処理の内容
データベースに登録されているデータを変更します。
サンプルプログラム
update.html
・・・
<!DO "SELECT 製品名 FROM WL_SCHEMA.製品表" RESULT=rslt> (1)
<!FOREACH rslt t>
<!SETVAR uname ’URLencode(t{製品名})’>
<A HREF="$SYSTEM::FMTR?WIT_html=update_fmt1.html&Name=$uname">
<!HREPLACE ’t{製品名}’></A><BR>
<!/FOREACH> (2)
・・・(1) 更新データを選択するためのデータベースの全件検索
更新するデータを選択するために、データベースを全件検索します。
(2) 検索結果の表示および更新データの選択
検索した結果の製品名を表示します。製品名はすべてURLに変換され、“uname”に格納されます。更新対象の製品名を選択すると“uname”を“Name”に代入しupdate_fmt1.html に引き継ぎます。
update_fmt1.html
・・・
<!DO "SELECT 製品名,カテゴリ,機能,型番,数量,価格,説明
FROM WL_SCHEMA.製品表 WHERE 製品名 LIKE ’$QUERY::Name’" RESULT=rslt> (3)
<FORM ACTION="$SYSTEM::FMTR" METHOD="POST">
<INPUT TYPE="HIDDEN" NAME="Name_orig" VALUE="$(rslt[0]{製品名})">
<TABLE BORDER=0>
<TR>
<TD>製品名</TD><TD>:</TD>
<TD><INPUT TYPE="TEXT" NAME="Name" VALUE="$(rslt[0]{製品名})"></TD>
</TR>
<TR>
<TD>カテゴリ</TD><TD>:</TD>
<TD>
<!FOREACH ’("オーディオ", "照明", "調理",
"日用生活", "コンピュータ", "空調")’ s_category>
<!SETVAR if_check "">
<!IF ’rslt[0]{カテゴリ} eq s_category’>
<!SETVAR if_check "CHECKED">
<!/IF>
<!SETVAR inp "<INPUT TYPE=’radio’ NAME=’Category’ VALUE=’$s_category’ $if_check>">
<!REPLACE inp><!HREPLACE s_category>
<!/FOREACH>
</TD>
</TR>
<TR>
<TD>機能</TD><TD>:</TD>
<TD><INPUT TYPE="TEXT" NAME="Function" VALUE="$(rslt[0]{機能})" SIZE=40></TD>
</TR>
<TR>
<TD>型番</TD><TD>:</TD>
<TD><INPUT TYPE="TEXT" NAME="Type" VALUE="$(rslt[0]{型番})"></TD>
</TR>
<TR>
<TD>数量</TD><TD>:</TD>
<TD><INPUT TYPE="TEXT" NAME="Quantity" VALUE="$(rslt[0]{数量})"></TD>
</TR>
<TR>
<TD>価格</TD><TD>:</TD>
<TD><INPUT TYPE="TEXT" NAME="Price" VALUE="$(rslt[0]{価格})"> 円</TD>
</TR>
<TR>
<TD>説明</TD><TD>:</TD>
<TD><TEXTAREA NAME="Description" COLS=50 ROWS=5>
<!HREPLACE ’(rslt[0]{説明})’></TEXTAREA></TD>
</TR>
</TABLE>
<INPUT TYPE="HIDDEN" NAME="WIT_html" VALUE="update_fmt2.html">
<INPUT TYPE="SUBMIT" VALUE="更新">
<INPUT TYPE="RESET" VALUE="やり直し">
</FORM> (4)
・・・(3) 更新対象の情報の検索
update.html から引き継いだ“Name”を基に更新対象の情報をデータベースから検索します。
(4) 更新情報の入力
表示された情報を更新します。1件の情報の更新が終了したら、[更新]ボタンをクリックします。入力をやり直す場合[やり直し]ボタンをクリックします。[更新]ボタンをクリックすることで処理とデータをupdate_fmt2.html に引き継ぎます。
update_fmt2.html
・・・
<!DO "UPDATE WL_SCHEMA.製品表
SET 製品名=’$QUERY::Name’,カテゴリ=’$QUERY::Category’,機能=’$QUERY::Function’,
型番=’$QUERY::Type’,数量=$QUERY::Quantity,価格=$QUERY::Price,
説明=’$QUERY::Description’ WHERE 製品名 LIKE ’$QUERY::Name_orig’"> (5)
<!DO "SELECT 製品名,カテゴリ,機能,型番,数量,価格,説明
FROM WL_SCHEMA.製品表" RESULT=rslt> (6)
<TABLE BORDER=1>
<TR>
<TD>製品名</TD>
<TD>カテゴリ</TD>
<TD>機能</TD>
<TD>型番</TD>
<TD>数量</TD>
<TD>価格</TD>
<TD>説明</TD>
</TR>
<!FOREACH rslt t>
<TR>
<TD><!HREPLACE ’t{製品名}’></TD>
<TD><!HREPLACE ’t{カテゴリ}’></TD>
<TD><!HREPLACE ’t{機能}’></TD>
<TD><!HREPLACE ’t{型番}’></TD>
<TD><!HREPLACE ’t{数量}’></TD>
<TD><!HREPLACE ’t{価格}’></TD>
<TD><!HREPLACE ’t{説明}’></TD>
</TR>
<!/FOREACH>
</TABLE> (7)
・・・(5) 情報の更新
update_fmt1.html から引き継いだ情報でデータベースを更新します。
(6) 更新後のデータベースの全件検索
更新した情報が正確に更新されているかを確認するために、データベースの内容を全件検索します。
(7) 検索結果の表示
データベースを全件検索した結果を、すべて表示します。
解説
update.html でデータベースの内容をすべて表示し、更新するデータを選択します。選択したデータの一部をキーとして、update_fmt1.html に引き継ぎます。
update_fmt1.html では、update.html から引き継いだキーを基にデータベースを検索し、内容を表示して更新データを入力します。入力されたデータを更新するために、update_fmt2.html へ入力データと処理を引き継ぎます。
update_fmt2.html では、update_fmt1.html から引き継いだデータを基にデータベースを更新し、確認のためにデータベースの情報をすべて表示します。