Jump to content

WebService - How to join customer with orders


MAPVince

Recommended Posts

Hi everyone,

 

I want to know how join customer with orders ? I tried many things unsuccessfull y.

 

Here is an example of my actually code :

<?php 
define('DEBUG', true);
define('PS_SHOP_PATH','xxxxxxxxxxxxxxx');
define('PS_WS_AUTH_KEY', 'xxxxxxxxxxxxxxxxxx');

// Appel la librairie à la racine pour acceder aux méthodes GET, POST, PUT, DELETE
require_once('./PSWebServiceLibrary.php'); 

try
{
	//Création d'une nouvelle instance de PrestaShopWebService
	$webService = new PrestaShopWebservice(PS_SHOP_PATH, PS_WS_AUTH_KEY, DEBUG);
	//Création d'un tableau qui va contenir "customers"
	$opt['resource'] = 'customers';
	$opt2['resource'] = 'orders';
	// Vérification si l'id est définit
	if (isset($_GET['id']))
	{
		$opt['id'] = $_GET['id'];

	}

	$xml = $webService->get($opt);
	$resources = $xml->children()->children();


	//Récuperer UN seul utilisateur
	$xml2 = $webService->get(array(
    'resource' => 'customers',
    'display' => '[id,firstname,lastname,email,company]', //Les informations que l'ont veut obtenir
    'filter[id]' => '['.$resources.']', //Filtrer par id 
    'limit' => 1 // Pour n'avoir qu'un seul résultat
	));
	$resources2 = $xml2->children()->children()->children();
    var_dump($xml2);


	$xmlOrder = $webService->get($opt2);
	$resources3 = $xmlOrder->children()->children();
	// Récuperer la/les commande(s) d'un client
	$xml3 = $webService->get(array(
    'resource' => 'orders',
    'display' => '[id,product_name,product_price,total_paid]', //Les informations que l'ont veut obtenir
    'filter[id]' => '['.$resources3.']', //Filtrer par id 
    'limit' => 9, // Pour n'avoir qu'un seul résultat    
    ));
    echo('coucou');
	$resourcesOrder = $xml3->children()->children()->children();
	var_dump($xml3);

}
catch (PrestaShopWebServiceExeption $ex)
{
	$trace = $ex->getTrace(); // Récupère toutes les Informations sur l'erreur
	$errorCode = $trace[0]['args'][0]; // Récupération du code d'erreur
	if ($errorCode == 401)
		echo 'Bad auth key'; else
		echo 'Other error : <br />'.$ex->getMessage();
	// Affiche un message associé à l’erreur
}

echo '<h1>Liste des utilisateurs ';
if (isset($_GET['id']))
{
	echo 'Details';
}
else
{ 
	echo 'List';
}
echo '</h1>';
// We set a link to go back to list if we are in customer's details
if (isset($_GET['id'])){
	echo '<a href="?">Retour</a>';
}
echo '<table border="5">';
//Si $resources est définie, on liste les éléments. Sinon, afficher erreur 
if (isset($resources) && isset($resources2))
{
	if (!isset($_GET['id']))
	{
		echo '<tr><th>Id</th><th>Détails</th></tr>';
		foreach ($resources as $resource)
		{
			
			echo '<tr><td>'.$resource->attributes().'</td><td>'.
			'<a href="?id='.$resource->attributes().'">Voir les détails</a>'.
			'</td></tr>';
		}
	}
	else
	{
		foreach ($resources2 as $key => $resource2)
		{
			echo '<tr>';
			echo '<th>'.$key.'</th><td>'.$resource2.'</td>';
			echo '</tr>';
		}

		foreach ($resourcesOrder as $key2 => $resourcesOrder)
		{
			echo '<tr>';
			echo '<th>'.$key2.'</th><td>'.$resourcesOrder.'</td>';
			echo '</tr>';
		}
	}
}
else
{
	echo 'erreur';
}
echo '</table>';

?>

Please help me :( !

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...