SuperSQL LOGO SuperSQLToyama lab KEIO UNIVERSITY
last updated: 2010/03/31
TOP  一括更新ページ  フォームページ  セッション  その他の機能  関数・装飾子一覧

2.フォームページ

フォームの部品を関数によって生成することができます。

2-1.INPUTTEXTとSUBMITボタンの簡単なフォーム

●フォームページ●(form.sql)
GENERATE HTML
{
inputtext("",name="mname")
!
submit("送信")
}@{form,updatefile="./update.sql"}
FROM member m
inputtextとsubmit関数でテキストフォームとボタンを作成しています。 inputtextのname属性は名前を指定します。
フォームとする範囲は@{form}で囲みます。@{form}にはupdatefileとlinkfileを指定することができます。 updatefileは以下で解説する更新SQLクエリを指定し、linkfileはページ遷移先を指定します。linkfileを指定しないと、遷移先は元のフォームページになります。


●更新用SQLクエリ●(update.sql)
INSERT INTO member (name) VALUES ('$mname');
更新用SQLクエリには通常のSQLクエリ(INSERT,UPDATE,DELETE)を記述します。フォームから取得した値はnameで指定した名前に$をつけたもので置換えが可能になります。この例では$mnameがフォームからの入力値に置き換えられます。

2-2.様々なフォームを組み合わせる

●フォームページ●(form.sql)
GENERATE HTML
{
  {
    { "名前" ! "性別" ! "学年" },
    { 
      inputtext("",name="mname") !
      [radio((desc1)m.sex,name="msex")], !
      [select((asc1)m.grade,name="mgrade")]!
    }
  } !
  submit("送信")
}@{form,updatefile="./update.sql"}
FROM member m

●更新用SQLクエリ●(update.sql)
INSERT INTO member (name,sex,grade) VALUES ('$mname','$msex','$mgrade');

2-3.初期値の指定(checked, selected)

ラジオボタン、セレクトボックスでは関数内の属性で初期値の選択ができます。例では定数値ですが、データベースの値も使用可能です。

●ラジオボタン
[radio((desc1)m.sex, name="msex", checked="女")],

●セレクトボックス
[select((asc1)m.grade, name="mgrade", selected="M2")]!