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]

Reply via email to