Child pages
  • Capítulo 5 - Modificación - Actualización de cliente

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

La actualización de los recursos a través del servicio web es complejo, por lo que explicaremos en primer lugar su funcionamiento.

Diagrama de secuencia que representa cómo es actualizado un recurso:

Image Removed

Podemos ver que el diagrama está dividido en 2 etapas:

...

Recuperar el archivo XML y mostrar el formulario:

Code Block

// Define el recurso 
$opt = array( 'resource' => 'customers' );
// Definie el ID del recurso a modificar
$opt[ 'id' ] = $_GET[ 'id' ];
// Llama al servicio web, recuperar el archivo XML
$xml = $webService->get( $opt );
// Recupera elementos de recurso en una variable (table)
$resources = $xml->children()->children();
// formulario del cliente

...

Ayuda para la creación de un formulario:

Code Block

foreach ( $resources as $key => $resource ){
  echo '<tr><th>' . $key . '</th><td>';
  echo '<input type="text" name="' . $key . '" value="' . $resource . '"/>';
  echo '</td></tr>';
}

...

Ruta de las claves en el archivo XML y valores de actualización:

Code Block

foreach ( $resources as $nodeKey => $node ) {
  $resources->$nodeKey = $_POST[ $nodeKey ];
}

...

Ejemplo de una actualización:

Code Block

$opt = array( 'resource' => 'customers' ); // Definición del recurso
$opt[ 'xml' ] = $xml->asXML(); //Definición del archivo XMl
$opt[ 'id' ] = $_GET[ 'id' ]; // Definición del ID a modificar
// Calling asXML () returns a string corresponding to the file
$xml = $webService->edit( $opt ); // Call

...