はじめに
今回より3回に渡って、FileMaker Server 9より実装された「PHPによるカスタムWeb公開機能」(FileMaker API for PHP)を紹介します。アンケートフォームを作成しながらFileMaker API for PHPの基本的な使い方を解説していきたいと思います。
質問や回答の設定、およびアンケートの集計をFileMakerで行い、設定した質問・回答をFileMaker API for PHPを使ってWebアンケートフォームとして表示するというアプリケーションを作ります。
前編として今回は、FileMaker API for PHPの簡単な紹介と作成するアンケートフォームの概要、データベースの作成、FileMaker Serverへのセット、PHP環境の構築までを解説します。
FileMaker API for PHPについて
PHPは、現在Webアプリケーション開発にとても人気があり実績も豊富な言語です。ライブラリやテンプレートなども豊富に出回っていますので、オープンソースで開発された便利なツールを自身のWebアプリケーションに組み込んでいくこともできます。言語構造が簡単なので、比較的容易に習得することができるのも魅力です。
FileMaker API for PHPは、FileMaker Server 9より実装された、PHPを使ってFileMakerのカスタムWebを開発するためのツールです。Web上から、データの検索や登録、編集、削除、関連データの操作、FileMaker上で定義されたスクリプトの実行などさまざまな処理を実行させることができます。
FileMaker API for PHPはオブジェクト言語指向で開発されており、データベースの操作がクラスとしてまとめられています。実行したい操作に応じてオブジェクトを作成し、各クラスに用意されている関数を利用しながらデータベースを操作していきます。
最初は難しく感じるかもしれませんが、考え方に慣れれば後は自然に操作できるようになります。
FileMaker Server 9には、このPHPを利用したカスタムWeb公開をサポートする、PHP Site Assistantというアプリケーションが付属しています。PHP Site Assistant機能を使用すれば、ウィザード形式でデータの登録や検索、編集など、よく利用するPHPベースのWebページを作成できます。
今回の連載では、このPHP Site Assistant機能は使わずにFileMaker API for PHPを直接利用してWebページをコーディングしていきます。
アンケートフォームの作成
それでは、今回作成するWebアンケートフォームについて概要をまとめておきます。まず大枠は次のとおりです。
- FileMaker上で、質問や回答の設定、アンケートの集計など行う。
- FileMaker API for PHPを使って、Webアンケートフォームを表示、FileMakerへの登録処理を行う。
後は、次のような特徴を備えるようにします。
- 複数のテーマのアンケートが作成でき、期間ごとに実施するアンケートを指定できる(同時に実行できるのは一つのテーマだけ)。
- 質問や回答を自由に設定でき、質問の数も自由に増減できる。
- アンケートフォームの質問の回答は、それぞれの質問ごとに回答の選択肢を改行区切りでフィールドに登録する。登録した回答はWebフォーム上ではラジオボタンにして表示する。
- アンケートの回答の集計はFileMaker上で行う。
FileMakerデータベースの定義
それでは早速アンケートフォームを作成していきます。まずはFileMakerデータベースを定義していきます。
作成するテーブルは以下の4つです。
- アンケート見出し
- アンケート質問
- 回答見出し
- 回答明細
アンケートフォームをテーマなどの見出しと質問・回答部分の明細に分けて親子関係にします。また、それを受ける登録フォームからのデータも、見出しと回答を分ける親子関係にします。これにより、質問の数をアンケートのテーマごとに自由に設定でき、回答の集計もやりやすくなります。
各テーブルのフィールド定義は次のようにします。
上で定義したテーブルを次のようにリレーションを設定します。