This is an old revision of the document!
We suggest writing a few extra functions in your zencart admin to place into the /admin/includes/functions/extra_functions/ folder for generating inventory reports.
Here's one of our functions, which simply makes a giant array of how many of each product we've sold in the past week, 2 weeks, 4 kees, 6 weeks, etc. Save this into a file called admin/includes/functions/extra_functions/stats_functions.php
<?php
function getSalesStats()
{
global $db;
$all = array();
for ($i = 0; $i < 2000; $i++)
{ $all[$i] = array(0,0,0,0,0,0,0); }
$selectql = $db->Execute("SELECT op.products_id, op.products_quantity, o.date_purchased, DATEDIFF(CURDATE(), o.date_purchased) as diff from orders_products op LEFT JOIN orders o on op.orders_id = o.orders_id WHERE DATEDIFF(CURDATE(), o.date_purchased) < 90");
while(!$selectql->EOF)
{
$pid = $selectql->fields['products_id'];
if($selectql->fields['diff'] <= 7) { $all[$pid][0] += $selectql->fields['products_quantity']; }
if($selectql->fields['diff'] <= 14) { $all[$pid][1] += $selectql->fields['products_quantity']; }
if($selectql->fields['diff'] <= 21) { $all[$pid][2] += $selectql->fields['products_quantity']; }
if($selectql->fields['diff'] <= 28) { $all[$pid][3] += $selectql->fields['products_quantity']; }
if($selectql->fields['diff'] <= 42) { $all[$pid][4] += $selectql->fields['products_quantity']; }
if($selectql->fields['diff'] <= 56) { $all[$pid][5] += $selectql->fields['products_quantity']; }
if($selectql->fields['diff'] <= 90) { $all[$pid][6] += $selectql->fields['products_quantity']; }
$selectql->MoveNext();
}
return $all;
}
?>
And you will be able to call this function from any new report-generating pages that you create.
Here's an example of a report generating page using this custom created function