FileMaker API for PHPで検索結果を表示する基本テクニック
FileMaker API for PHPの利用 1:レコード検索のテクニック
ダウンロード サンプルファイル (12.4 KB)
詳細ページの表示
最後に詳細ページを作成します。詳細ページは、検索結果一覧のページから渡されたレコードIDを利用して、レコードのデータを表示します。
<?php //文字コードの指定 header("Content-Type: text/html;charset=utf-8"); //APIのインクルード include_once('FileMaker.php'); //FileMakerに接続 $fm = new FileMaker(); $fm->setProperty('database', 'Catalog'); $fm->setProperty('hostspec', 'http://localhost'); $fm->setProperty('username', 'web'); $fm->setProperty('password', 'pass'); //レコード情報を取得。 ※1 $record = $fm->getRecordById('web_catalog',$_GET['recid']); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>カタログ詳細</title> </head> <body> <h1>カタログ詳細</h1> <!--レコードのデータを表示 ※2--> <table border="1"> <tr> <th>商品ID</th> <td><?=$record->getField('ID')?></td> </tr> <tr> <th>商品名</th> <td><?=$record->getField('Name')?></td> </tr> <tr> <th>ジャンル</th> <td><?=$record->getField('Genre::Genre_Name')?></td> </tr> <tr> <th>メーカー</th> <td><?=$record->getField('Maker::Maker_Name')?></td> </tr> <tr> <th>価格</th> <td> <?php $price = $record->getField('Price'); if(is_numeric($price)){ echo number_format($price); }else{ echo $price; } ?> </td> </tr> <tr> <th>登録日</th> <td> <?=date('Y/m/d', strtotime($record->getField('RegistDate')))?> </td> </tr> </table> <!--検索結果の一覧に戻るリンクを表示 ※3--> <p><a href="result.php?<?=$_GET['search_query']?>"> 検索結果一覧に戻る</a></p> </body> </html>
- 指定した1件のレコードにアクセスするには
getRecordByIdメソッドを利用します。引数にアクセスするレイアウト名とレコードIDを渡します。$recordには取得したレコードのレコードオブジェクトが返ってきます。 - レコードオブジェクトの
getFieldメソッドを利用して値を表示します。ここは「result.php」の項で解説したことと同じです。 - 「result.php」からGETメソッドにて引き継いだ検索条件「search_query」をリンクにセットします。これにより、検索結果の一覧に戻ることができます。
まとめ
いかがでしたか? FileMaker API for PHPを使ってレコードの検索を行う場合の処理をざっと解説してみました。検索結果のページ分割表示は、取得範囲の指定と検索条件の引き継ぎの処理がキモです。FileMaker 6以前のCDMLという言語においては、[Fmp-LinkPreview][Fmp-LinkNext]などの便利なタグ(関数)があったため、特に処理を意識しなくてもすみましたが、APIで開発を進める際はこの箇所を自身で処理していく必要があります。
次の機会には、フォームデータの処理や日付などの書式を指定したフィールドデータの表示などを、カスタム関数にまとめることにより、コーディングがとても楽になるテクニックを紹介したいと思います。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- FileMaker API for PHPの利用連載記事一覧
-
- カスタム関数を作って効率的よくPHPと連携しよう
- FileMaker API for PHPで検索結果を表示する基本テクニック
- この記事の著者
-
堀 直樹(ホリ ナオキ)
大学卒業後入社の企業にて、趣味のFileMaker使いからなりゆきで社内のシステム担当となり社内システムの開発に孤軍奮闘する。その後ソフトハウスに転職してFileMakerによるシステム開発に従事し、現在は株式会社キクミミにて数々の企業のシステムを開発する。PHPによるカスタムWebでのシステム構築...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア

