Child pages
  • Chapter 4 - Retrieve Data - Retrieving a Client

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Retrieve Data - Retrieving a Client

Objective: A Web application to list and display information from a customer
Difficulty: *
Problem: How to create a system that allows customers using IDs to retrieve customer records?

Preparation

...

Duplicate the file list_the_clients.php from the previous step to a file named R-CRUD.php at the root of your Web server.
If you didn't succeed at the previous step, duplicate the file 0-CustomersList.php to a file named R-CRUD.php.

In the XML file containing the list of clients, we will find all the XLinks providing access to customer information.<customers>
<customer

Code Block

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

...


</

...

customers>

Example

Here we see that the xlink for the "customer" tag with ID 1 is:
"http://mystore.com/api/customers/1"

This link leads to an XML file containing information about the client with ID 1.

For this tutorial, in order to manage access to different clients you will proceed by associating page identifiers with customers via a GET parameter named "id".

Example:
The "http://mystore.com/R-CRUD.php?id=1" we will display the customer 1's file.
Modify the table created in the previous chapter to add a link to future customer files.
You'll have to isolate the display from the display list of a particular customer.

In order to do this you must isolate the display of your list by verifying, using isset(), that the GET "id" parameter property is not present when viewing your list.

Wiki MarkupCalling the web service is exactly the same as for displaying the list, except for if you need to add the 'id' element to the table whose value is the id of a client.
At this moment, we are using "customers"or "client" resources. If we'd been trying to change the "countries " resources, this id would have been a country id.

Code Block

$opt

...

[ 'resource'

...

 ] = 'customers';
$opt

...

[ 'id'

...

 ] = $_GET

...

[ 'id'

...

 ];
$xml = $webService->get( $opt );

...

Tip

Use

...

isset

...

() before setting an ID allows you to easily carry out everything in this chapter.

Accessing resources is performed as above for displaying the list because the tags that interest us are children of the "customers" tag.

Code Block

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

This path is done in another way (here in an HTML table):

Code Block

foreach ( $resources as $key => $resource )

...


  echo 'Name of field: ' . $key . ' - Value: ' . $resource . '<br />';

You now have everything needed to create a script to both list and display information for a particular client.

Try creating this script "R-CRUD.php". If you encounter any difficulties, follow the example from the file "1-Retrieve.php" which corresponds to the result you should get.

...