MAPVince Posted July 21, 2016 Share Posted July 21, 2016 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now