graham23s Posted November 21, 2009 Share Posted November 21, 2009 Hi Guys, I use this code below to query amazon's api and display remote shopping carts: <?php // Check if the customer has an amazon order in the database, if so show it if (amazon_cart_not_empty($cusSessionID)) { // If the cart isn't empty retrieve the cartID and HAC ID $cartID = amazon_unique_cart_id($cusSessionID); $cartHI = amazon_unique_hwac($cusSessionID); // Display top half print '<form onSubmit="return updateCartCheck();" action="cart.php?do=update" name="fcsShoppingCart" method="POST" /> <input type="hidden" name="cusSessionID" value="" /> <table border="1" class="CartContents Stylize General" cellspacing="0" cellpadding="0"> <thead> <tr> <th colspan="2">Cart Items</th> <th style="text-align: center; white-space: nowrap;">Qty</th> <th style="text-align: center; white-space: nowrap;">Item Price</th> <th style="text-align: right; white-space: nowrap;">Item Total</th> </tr> </thead> <tbody> <tr>'; // Credentials $PublicKey = "xxxxxxxxxxxxx"; $PrivateKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxx"; // Prarameters we need to send to the function $parameters = array( 'AssociateTag' => 'firschoishop-21', 'Operation' => 'CartGet', 'CartId' => $cartID, 'HMAC' => $cartHI, ); // Execute the function to return our URL $url = amazon_signed_request("co.uk", $parameters, $PublicKey, $PrivateKey); print $url; // Load the results and get the contents $response = simplexml_load_file($url); // Loop through the xml nodes foreach ($response->Cart as $item) { // Whats our cart id? $cartID = $item->CartId; $cartNM = $item->CartItems->CartItem->Title; $cartQY = $item->CartItems->CartItem->Quantity; $cartPR = $item->SubTotal->FormattedPrice; // What product group $cartPG = $item->CartItems->CartItem->ProductGroup; print $cartPG; // We need to use the function to determine what item number we need if ($cartPG == "Book"){ $identificationNumber = $item->CartItems->CartItem->ASIN; } elseif($cartPG == "DVD"){ $identificationNumber = $item->ItemAttributes->ISBN; } print '<td class="CartThumb">'; print ' <img src="imgProducts/img-th/thumb-Eczema-Free-Forever-1250421912.jpg" border=\"0\"/></a>'; print ' </td>'; print ' <td class="ProductName" colspan="1">'; print ' '.amazon_friendly_url($cartNM, $identificationNumber).' <b>- </b>(<a href=\"cart.php?do=remove&product-id=$cartProdID&customer-id=$cusSessionID\" onclick=\"return confirm(\'Are you sure you want to delete this item?\')\"><span class=\"fcs-message-intro-w\">X</span></a>)'; print ' <br />'; print ' </td>'; print ' </td>'; print '<td align="center">'.$cartQY.'</td>'; print '<td align="right"><em class="ProductPrice">'.$cartPR.'</em></td>'; print '</tr>'; } // Display bottom print '<table border="0" cellpadding="5" cellspacing="0" />'; print ' <tr>'; print ' <td class="fcs-proceed-checkout-border" align="right" colspan="2"><input type="image" src="img/img-update-cart.png" alt="Update Cart" /></span><a href="checkout.php" onClick="return cartCheck()" title="Click here to proceed to checkout"><img src="img/img-proceed-checkout.png" alt="Click here to proceed to checkout" border="0" /></a></td>'; print ' </tr>'; print '</table>'; // We don't want the script to execute any further include("inc/inc-footer.php"); exit; } ?> This works great, when i test the xml in the browser it shows up 2 products in the cart, but only 1 is showing up in my cart on site. the foreach here: // Loop through the xml nodes foreach ($response->Cart as $item) { // Whats our cart id? $cartID = $item->CartId; $cartNM = $item->CartItems->CartItem->Title; $cartQY = $item->CartItems->CartItem->Quantity; $cartPR = $item->SubTotal->FormattedPrice; // What product group $cartPG = $item->CartItems->CartItem->ProductGroup; print $cartPG; // We need to use the function to determine what item number we need if ($cartPG == "Book"){ $identificationNumber = $item->CartItems->CartItem->ASIN; } elseif($cartPG == "DVD"){ $identificationNumber = $item->ItemAttributes->ISBN; } print '<td class="CartThumb">'; print ' <img src="imgProducts/img-th/thumb-Eczema-Free-Forever-1250421912.jpg" border=\"0\"/></a>'; print ' </td>'; print ' <td class="ProductName" colspan="1">'; print ' '.amazon_friendly_url($cartNM, $identificationNumber).' <b>- </b>(<a href=\"cart.php?do=remove&product-id=$cartProdID&customer-id=$cusSessionID\" onclick=\"return confirm(\'Are you sure you want to delete this item?\')\"><span class=\"fcs-message-intro-w\">X</span></a>)'; print ' <br />'; print ' </td>'; print ' </td>'; print '<td align="center">'.$cartQY.'</td>'; print '<td align="right"><em class="ProductPrice">'.$cartPR.'</em></td>'; print '</tr>'; } seems to only loop though table html once, waht would be the best way to loop the other table out? thanks guys Graham Link to comment https://forums.phpfreaks.com/topic/182422-foreach-loop/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.