Récuperer des données - Récupérer un client

Objectif : Une application WEB permettant de lister et d'afficher les informations d'un client
Difficulté : **
Problématique : Comment créer un système qui permet à partir des identifiants des clients de récupérer les fiches des clients ?

Préparation

Dupliquez le fichier lister_les_clients.php de l'étape précédente vers un fichier nommé R-CRUD.php à la racine de votre serveur WEB.
Si vous n'avez pas réussi l'étape précédente, dupliquez le fichier 0-CustomersList.php vers un fichier nommé R-CRUD.php.

Dans le fichier XML contenant la liste des clients, nous retrouvons l'ensemble des XLink permettant d'accéder aux informations d'un client.

<customers>
  <customer id="1" xlink:href="http://exemple.com/boutique/api/customers/1" />
</customers>

Ici, on voit que la balise "customer" dont l'ID est 1 a pour xlink : "http://maboutique.com/api/customers/1"

Ce lien nous amène à un fichier XML contenant les informations sur le client ayant comme ID 1.

Pour ce tutoriel, afin de gérer l'accès aux différents clients vous allez procéder de manière à associer les pages aux identifiants des clients via un paramètre GET nommé "id".

Exemple :
La page "http://maboutique.com/R-CRUD.php?id=1" nous affichera la fiche du client 1.

Modifiez votre tableau créé dans le chapitre précédent pour lui ajouter un lien vers les futurs fiches client.

Vous allez devoir isoler l'affichage de la liste de l'affichage d'un client en particulier.

Pour se faire, il vous faut isoler l'affichage de votre liste en vérifiant à l'aide de isset si le paramètre GET "id" n'est bien pas présent lors de l'affichage de votre liste.

L'appel au service web est exactement le même que pour l'affichage de la liste à l'exception prêt qu'il faut ajouter un élément id au tableau et ayant pour valeur l'id d'un client.
Nous sommes ici dans une utilisation de la ressource "customers" ou "client", si nous aurions été en train de modifier la ressource pays "countries" cette id aurait été un id de pays.

$opt[ 'resource' ] = 'customers';
$opt[ 'id' ] = $_GET[ 'id' ];
$xml = $webService->get( $opt );

Utiliser "isset" avant de définir un ID vous permettra de réaliser facilement ce chapitre.

L'accès aux ressources se fait comme précédemment pour l'affichage de la liste car les balises qui nous intéressent sont enfants de la balise "customers".

$resources = $xml->customers->children();

Le parcours quand à lui se fait d'une autre manière (ici dans un tableau HTML) :

foreach ( $resources as $key => $resource )
  echo 'Nom du champ : ' . $key . ' - Valeur : ' . $resource . '<br />';

Vous avez désormais tout le nécessaire pour réaliser un script permettant à la fois de lister et à la fois d'afficher les informations d'un client en particulier.

Essayez de créer ce script R-CRUD.php, si vous rencontrez des difficultés prenez exemple sur le fichier 1-Retrieve.php qui correspond au résultat que vous devriez obtenir.

Nous verrons dans un autre tutorial comment filtrer, trier et limiter le nombre d'éléments affichés dans la liste.
Si vous êtes pressé d'implémenter ces fonctionnalités, vous trouverez davantage d'information au chapitre 8.