HTMLの<form>をつくるのはめんどくさい作業です。つい書こうとするといろいろ忘れていて同じことをなんども調べなければならなくなります。phpスクリプトのFormitableをつかうとmysqlからテーブル情報をもってきてそれをもとのHTMLフォームを自動でつくってくれます。
ここではもっとも簡単な使い方を紹介しますが、データベースやテーブルの作り方は省略します。ここではデータベースmydemo、テーブルmydemoがあるとします。
1 2 3 4 5 6 7 8 9 |
mysql> describe mydemo; +-------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | name | varchar(128) | NO | | NULL | | | date | datetime | NO | | NULL | | +-------+------------------+------+-----+---------+----------------+ 3 rows in set (0.38 sec) |
まずFormitableをダウンロードして解答して、”Formitable.class.ph”pサーバの適当な場所に置きます。
つぎに同じディレクトリに以下のようなPHPファイルを作ります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php $user = "root"; $pass = ""; $DB = "mydemo"; $table = "mydemo"; include("Formitable.class.php"); $newForm = new Formitable( @mysql_connect("localhost",$user,$pass), $DB, $table ); $newForm->printForm(); ?> |
ブラウザでこのファイルを開くと、フォームが表示されます。HTMLは以下のようになっていました。
1 2 3 4 5 6 7 8 9 10 11 |
<form method="POST" name="mydemo" action="mydemo.php"> <label class="textlabel" for="id">Id</label><br/> <input type="text" name="id" id="id" size="10" maxlength="10" class="text"><br/><br/> <label class="textlabel" for="name">Name</label><br/> <textarea name="name" id="name" rows="4" cols="50" class="textarea"></textarea><br/><br/> <label class="textlabel" for="date">Date</label><br/> <input type="text" name="date" id="date" size="19" maxlength="19" value="2012-04-08 18:11:13" class="text"/><br/><br/> <div class="button"><input type="reset" value="Reset Form" class="reset"/><input type="submit" name="submit" value="Submit" class="submit"/></div></form> |
Formitableはすごく機能が豊富ですが、ここではこれを得られれば充分とします。