Difference between revisions of "Functions:ordersGetList"

From Whirlwind eCommerce Wiki
Jump to: navigation, search
Line 58: Line 58:
 
echo "<table><tr><td>Order Number</td><td>Date</td><td>Total</td></tr>";
 
echo "<table><tr><td>Order Number</td><td>Date</td><td>Total</td></tr>";
  
if(!count($arrOrders)){
+
 
  // no orders, display message
+
// we have orders, lets loop
  echo "<tr><td colspan=3>You have no orders at this time</td></tr>";
+
$orderCount = 0;
} else {
+
foreach($arrOrders as $order) {
  // we have orders, lets loop
+
  foreach($arrOrders as $order) {
+
 
     // only display orders that are completed and current (not cancelled)
 
     // only display orders that are completed and current (not cancelled)
 
     if(!empty($order['completeDate']) && empty($order['cancelDate'])) {
 
     if(!empty($order['completeDate']) && empty($order['cancelDate'])) {
 +
        $orderCount++;
 
         echo "<tr><td><a href=\"index.php?fa=ORDER.invoice&orderNumber=" . $order['orderNumber'] . "\">" . $order['orderNumber'] . "</a></td>";
 
         echo "<tr><td><a href=\"index.php?fa=ORDER.invoice&orderNumber=" . $order['orderNumber'] . "\">" . $order['orderNumber'] . "</a></td>";
 
         echo "<td>" . date('M d, Y',strtotime($order['completeDate'])) . "</td>";
 
         echo "<td>" . date('M d, Y',strtotime($order['completeDate'])) . "</td>";
Line 71: Line 70:
 
     // end if order qualifies to be displayed
 
     // end if order qualifies to be displayed
 
     };
 
     };
  // end order loop
+
// end order loop
  };
+
};
// end if !count($arrOrders)
+
 
 +
if(!$orderCount){
 +
  // no orders, display message
 +
  echo "<tr><td colspan=3>You have no orders at this time</td></tr>";
 
};
 
};
</source>
+
// close the table
 +
echo "</table>";
  
== See Also ==
+
// fin!
:*[[tag:1|tag 1]]
+
</source>
:*[[tag:2|tag 2]]
+
:*[[tag:3|tag 3]]
+

Revision as of 19:27, 19 February 2009

Description

eV::ordersGetList() retrieves a multidimensional array of order information. Especially useful for order history pages.

Syntax

$array = eV::orderGetList([$fieldList[,$userId]]);

Paramaters

  • $fieldList STRING (optional)
comma-delimited list of fields to be returned. If not passed, all fields will be returned.
  • $userId INT (optional)
system designated unique userId - all orders that belong to the user will be returned. Defaults to the current session's user.


Return Values

Returns a multidimensional array where the first dimension is the index of the order, and the second dimension is the order's field names:

Array
(
    [0] => Array
        (
            // fields automatically included
            [orderId] => INT
            [orderNumber] => IN
            [createDate] => DATETIME
            [completeDate] => DATETIME
            [cancelDate] => DATETIME
            [user_firstName] => STR
            [user_lastName] => STR
            [user_emailAddress] => STR
            [ship_firstName] => STR
            [ship_lastName] => STR
            [ship_emailAddress] => STR
            [pay_firstName] => STR
            [pay_lastName] => STR
            [pay_emailAddress] => STR
            [itemTotal] => FLOAT // cost of items in cart added up
            [discountTotal] => FLOAT // discount totals added up
            [orderTotal] => FLOAT // cost of items in cart added up, less discounts
            [taxTotal] => FLOAT // total taxes charged to order
            [shipTotal] => FLOAT // total shipping charged to order
            [orderGrandTotal] => FLOAT // sum total of everything (item, tax, ship, less discount) for order
        )
    [1] => Array
        (
        ...
        )
)

Example

// get listing
$arrOrders = eV::ordersGetList("orderId,orderNumber,completeDate,cancelDate,orderTotal");
 
// start off a table
echo "<table><tr><td>Order Number</td><td>Date</td><td>Total</td></tr>";
 
 
// we have orders, lets loop
$orderCount = 0;
foreach($arrOrders as $order) {
     // only display orders that are completed and current (not cancelled)
     if(!empty($order['completeDate']) && empty($order['cancelDate'])) {
        $orderCount++;
        echo "<tr><td><a href=\"index.php?fa=ORDER.invoice&orderNumber=" . $order['orderNumber'] . "\">" . $order['orderNumber'] . "</a></td>";
        echo "<td>" . date('M d, Y',strtotime($order['completeDate'])) . "</td>";
        echo "<td>" . eV::dollarFormat($order['orderGrandTotal'] . "</td></tr>";
     // end if order qualifies to be displayed
     };
 // end order loop
 };
 
if(!$orderCount){
  // no orders, display message
  echo "<tr><td colspan=3>You have no orders at this time</td></tr>";
};
// close the table
echo "</table>";
 
// fin!