Quantcast

Après vous avoir donné des pistes pour connecter votre base de données Filemaker avec un site web en utilisant un lien ODBC, je vais aujourd’hui vous présenter la connexion d’une base Filemaker avec un site web en utilisant l’API PHP de Filemaker.

Liste des outils dont vous avez besoin :

  • Une base de données Filemaker uploadée sur un serveur Filemaker.
  • Un serveur web avec une page en php (plus besoins de base MySQL !)
  • Les dépendances Filemaker pour s’interconnecter à la base et qui sont téléchargeables ici.
  • Les scripts de l’API réécrits pour faciliter l’accès téléchargeables ici.

Un exemple simple

La première étape est de se connecter à la base

$fm = new FileMaker('nom_de_la_base', 'adresse_du_serveur', 'login', 'mot_de_passe');
$layouts = $fm->listLayouts(); //on liste les modèles
$layout = $fm->getLayout($layouts[0]); //on sélectionne le modèle sur lequel on souhaite travailler. Attention les modèles sont numérotés dans l'ordre de votre base Filemaker.

Rechercher un enregistrement

$find = $fm->newFindCommand($layout->getName()); //on lance la commande de recherche
$find->addFindCriterion('nom_du_champ_dans_FM', $valeur_recherchee); //on définit le critère de recherche
$result = $find->execute(); //on exécute la recherche.
$record = $result->getFirstRecord(); //on récupère le premier enregistrement trouvé.

Ajouter un enregistrement

$newRecord = $fm->newAddCommand($layout->getName()); //on lance la commande d'ajout
$newRecord->setField('nom_du_champ_dans_FM', $valeur); //on définit la rubrique de l'enregistrement
$result = $newRecord->execute(); //on exécute la commande

Modifier un enregistrement

$record->setField('nom_du_champ_dans_FM', $valeur); //on définit la rubrique de l'enregistrement en cours
$record->commit(); //on valide la modification

Supprimer un enregistrement

$recordId = $result->getFirstRecord()->getRecordId(); //on récupère l'identifiant de l'enregistrement en cours
$delCommand = $fm->newDeleteCommand($layout->getName(), $recordId); //on lance la commande de suppression de cet enregistrement.
$result = $delCommand->execute(); //on exécute la commande de suppression

Intérêt de passer par l’API PHP Filemaker

L’avantage principal est que vous êtes connecté directement à la base Filemaker et vous pouvez depuis une page web traiter toutes les données de votre base avec rapidité et confort. Cependant cela nécessite un serveur Filemaker optimisé pour permettre son accès depuis votre site web. Si votre base Filemaker n’est plus accessible, vous ne pourrez plus y accéder depuis le site web.

Les liens pour tester

Lien vers le formulaire web en PHP.
Lien vers la base Filemaker en webpublishing.

Contactez-nous