Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

PHPとFileMaker ProによるWebアプリケーション構築(実装編)

ITエンジニアのためのFileMaker講座 第11回(後編)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2010/05/07 14:00
目次

FileMakerデータベースとの接続

 データベースファイルが無事アップロードできたところで、実際にFileMaker API for PHPの使い方について説明を進めます。

 FileMaker API for PHP(FileMaker.php)を使うには、まずFileMakerというメインクラスのインスタンスを作成します。その後レコードの追加や検索などの目的に応じてレコード追加用のクラス、検索用クラスを使います。

 以降、接続方法から順にPHPソースコードの記述方法について説明します。

1. FileMaker API for PHPを読み込む

 まず「FileMaker.php」を読み込みます。

require_once ('./API/FileMaker.php');

2. FileMakerというメインクラスのインスタンスを作成します

 次にFileMakerクラスのインスタンスを$dbに割り当てます

$db = new FileMaker();

3. FileMakerのデータベースに接続します

 最後にFileMakerデータベースに接続します。例えば、「display.fp7」ファイルに、アカウント名「user」、パスワード「pass」で接続する場合は次のように記述します。

$db -> setProperty('database', 'display');
$db -> setProperty('username', 'user');
$db -> setProperty('password', 'pass');

 なお、ファイル名「display.fp7」の拡張子「.fp7」は省略することになっているので気をつけてください。

レコードを追加する

 データベースに接続できたところで、よくあるレコードやフィールドの操作について順番に説明します。まず、新しいレコードの追加について説明をします。

 新しいレコードを追加するにはnewAddCommandクラスを使います。

$addCommand = $db -> newAddCommand("display");

 この一行でレイアウト名「display」に対して FileMaker_Command_Addオブジェクトが作成(レコード追加)されます。これにより displayレイアウトにレコードを追加するというインスタンスが生成されます。

 レコードの各フィールドに値を代入するには、setFieldクラスを使います。新規作成したレコードのColorフィールドに「Gold」、Sizeフィールドに「Middle」を追加する例を示します。

$addCommand -> setField('Color', "Gold");
$addCommand -> setField('Size', "Middle");

 executeクラスで、先の「新規レコードを追加」と「ColorフィールドにGold、SizeフィールドにMiddleを代入」の命令を実行します。

$result = $addCommand -> execute();
レコード追加のサンプルソース(display_add.php)
<?php
/* 初期設定 */
$database = 'display';
$username = 'user';
$password = 'password';

/* FileMaker.phpの読み込み */
require_once('./API/FileMaker.php');

/* FileMakerインスタンスを作成 */
$db = new FileMaker();

/* データベースへの接続 */
$db -> setProperty('database', $database); 
$db -> setProperty('username', $username); 
$db -> setProperty('password', $password);

/* レコードにデータを追加 */
$addCommand = $db->newAddCommand("display");
$addCommand -> setField('Color', "Gold");
$addCommand -> setField('Size', "Middle");
$result = $addCommand -> execute();
?>

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 岡田 匡(オカダ マサシ)

    岐阜県大垣市のソフトピアジャパンと名古屋市に拠点を置く、WebシステムとFileMakerソリューション開発の会社、株式会社ワークスペースの代表取締役。1998年にCGIプログラミングでショッピングカートシステムを初めて開発。2001年にショッピングカートと連携するネット通販の受注管理システムを手掛...

バックナンバー

連載:ITエンジニアのためのFileMaker講座

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5