Order Importer - Retrive Orders Page |
<?php
//create dataset and set its namespace function AddFieldToXML($FieldName, $Value) { $FindStr = "&"; $NewStr = "&"; $Result = str_replace($FindStr, $NewStr, $Value); echo "\t\t<$FieldName>$Result</$FieldName>\n"; }
//connect to database $db_connection = new COM("ADODB.Connection"); $db_connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("SageDemoData.mdb") ." ;DefaultDir=". realpath("."); $db_connection->open($db_connstr);
//get customer records $Customers = $db_connection->execute("SELECT * FROM Customers WHERE CustomerID IN(SELECT DISTINCT CustomerID FROM Orders WHERE ExportedToSage=0)");
//get order records $Orders = $db_connection->execute("SELECT * FROM Orders WHERE ExportedToSage=0");
//get order item records $OrderItems = $db_connection->execute("SELECT * FROM OrderItems WHERE OrderID IN(SELECT DISTINCT OrderID FROM Orders WHERE ExportedToSage=0)");
//begin outputing XML echo "<?xml version=\"1.0\" standalone=\"yes\" ?>\n"; echo "<DsOrders xmlns=\"http://www.tempuri.org/DsOrderInfo.xsd\">\n";
//process Customers $Cust_CustomerID = $Customers->Fields("CustomerID"); $Cust_ContactName = $Customers->Fields("ContactName"); $Cust_Address1 = $Customers->Fields("Address1"); $Cust_City = $Customers->Fields("City"); $Cust_Company = $Customers->Fields("Company"); $Cust_Address2 = $Customers->Fields("Address2"); $Cust_County = $Customers->Fields("County"); $Cust_PostCode = $Customers->Fields("PostCode"); $Cust_Tel = $Customers->Fields("Tel"); $Cust_Fax = $Customers->Fields("Fax"); $Cust_VATNumber = $Customers->Fields("VATNumber"); $Cust_CountryCode = $Customers->Fields("CountryCode");
while (!$Customers->EOF) { echo "\t<Customers>\n";
//Required Fields AddFieldToXML("CustomerID", $Cust_CustomerID->value); AddFieldToXML("ContactName", $Cust_ContactName->value); AddFieldToXML("Address1", $Cust_Address1->value); AddFieldToXML("Town", $Cust_City->value);
//Optional Fields (Used) AddFieldToXML("CompanyName", $Cust_Company->value); AddFieldToXML("Address2", $Cust_Address2->value); AddFieldToXML("County", $Cust_County->value); AddFieldToXML("PostCode", $Cust_PostCode->value); AddFieldToXML("Telephone", $Cust_Tel->value); AddFieldToXML("Fax", $Cust_Fax->value); AddFieldToXML("VatNumber", $Cust_VATNumber->value); AddFieldToXML("CountryCode", $Cust_CountryCode->value);
//Optional Fields (Not Used) //AddFieldToXML("EmailAddress", PutValueHere);
echo "\t</Customers>\n"; $Customers->MoveNext(); }
//process Orders $Ord_CustomerID = $Orders->Fields("CustomerID"); $Ord_OrderID = $Orders->Fields("OrderID"); $Ord_OrderDate = $Orders->Fields("OrderDate"); $Ord_DelContactName = $Orders->Fields("DelContactName"); $Ord_DelCompany = $Orders->Fields("DelCompany"); $Ord_DelAddress1 = $Orders->Fields("DelAddress1"); $Ord_DelAddress2 = $Orders->Fields("DelAddress2"); $Ord_City = $Orders->Fields("City"); $Ord_County = $Orders->Fields("County"); $Ord_PostCode = $Orders->Fields("PostCode");
while (!$Orders->EOF) { echo "\t<Orders>\n";
//Required Fields AddFieldToXML("CustomerID", $Ord_CustomerID->value); AddFieldToXML("OrderID", $Ord_OrderID->value); AddFieldToXML("OrderDate", $Ord_OrderDate->value);
//Optional Fields (Used) AddFieldToXML("DelContactName", $Ord_DelContactName->value); AddFieldToXML("DelCompany", $Ord_DelCompany->value); AddFieldToXML("DelAddress1", $Ord_DelAddress1->value); AddFieldToXML("DelAddress2", $Ord_DelAddress2->value); AddFieldToXML("DelTown", $Ord_City->value); AddFieldToXML("DelCounty", $Ord_County->value); AddFieldToXML("DelPostCode", $Ord_PostCode->value);
//Optional Fields (Not Used) //AddFieldToXML("Carriage", PutValueHere); //AddFieldToXML("CarriageTaxCode", PutValueHere); //AddFieldToXML("CcAuthCode", PutValueHere); //AddFieldToXML("CcCardType", PutValueHere); //AddFieldToXML("CcIssueNo", PutValueHere); //AddFieldToXML("CcNameOnCard", PutValueHere); //AddFieldToXML("CcNumber", PutValueHere); //AddFieldToXML("CcValidFrom", PutValueHere); //AddFieldToXML("CcValidTo", PutValueHere); //AddFieldToXML("DelCountry", PutValueHere);
echo "\t</Orders>\n"; $Orders->MoveNext(); }
//process Order Items $Itm_OrderID = $OrderItems->Fields("OrderID"); $Itm_Description = $OrderItems->Fields("Description"); $Itm_Price = $OrderItems->Fields("Price"); $Itm_PartNo = $OrderItems->Fields("PartNo"); $Itm_Qty = $OrderItems->Fields("Qty");
while (!$OrderItems->EOF) { echo "\t<OrderItems>\n";
//Required Fields AddFieldToXML("OrderID", $Itm_OrderID->value); AddFieldToXML("Description", $Itm_Description->value); AddFieldToXML("Price", $Itm_Price->value); AddFieldToXML("ProductCode", $Itm_PartNo->value); AddFieldToXML("Quantity", $Itm_Qty->value);
//Optional Fields (Not Used) //AddFieldToXML("TaxCode", PutValueHere);
echo "\t</OrderItems>\n"; $OrderItems->MoveNext(); }
//finish outputing XML echo "</DsOrders>";
//close recordsets and database connection $Customers->Close(); $Orders->Close(); $OrderItems->Close(); $db_connection->Close();
?> |