package: interchange
Code to reproduce the problem:
[perl]
# get product list first
my (%products, $pset);
my $pset = $Db{products}->query({sql => 'select sku,title,isbn,category from
products',
hashref => 1});
for (@$pset) {
$_->{count} = 0;
$products{$_->{sku}} = $_;
}
# get orders and associate to products
my $oset;
$Scratch->{query} = qq{select sku,title,count(sku) as count from orderline $cstr group by
sku,title order by count desc};
$oset = $Db{orderline}->query({sql => $Scratch->{query}, hashref => 1});
for (@$oset) {
if (exists $products{$_->{sku}}) {
$products{$_->{sku}}->{count} += $_->{count};
} else {
$products{$_->{sku}} = $_;
}
}
my @results = sort {$b->{count} <=> $a->{count}} values %products;
$Scratch->{result}->{mv_results} = [EMAIL PROTECTED];
#$Scratch->{result}->{mv_field_names} = [qw(sku title isbn category count)];
return;
[/perl]
[loop object=`$Scratch->{result}` prefix=sql list=1 more=1 ml="[value count]"]
[on-match]
<table>
<tr><th>Orders</th><th>Title</th><th>ISBN</th><th>Category</th></tr>
[/on-match]
[list]
<tr><td>[sql-param count]</td><td>[sql-param sku] <a href="[area
href="admin/reports/order/BySKU" form="sku=[sql-param sku]"]">[sql-param
title]</a></td><td>[sql-param isbn]</td><td>[sql-param category]</td></tr>
[/list]
[on-match]
</table>
[/on-match]
[more-list][more][/more-list]
[/loop]
Regards
Racke
--
LinuXia Systems => http://www.linuxia.de/
Expert Interchange Consulting and System Administration
ICDEVGROUP => http://www.icdevgroup.org/
Interchange Development Team
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]