$arrIdProdotti = array() ;
$arrProdotti = array() ;
$arrFornitori = array() ;
$arrTotali = array() ;
$arrVenduto = array() ;
$arrSM = array() ;
$query = "
select
TT.IdProdotto,
TT.NomeProdotto,
TT.IdFornitori,
TT.NomeFornitore,
sum(TT.NumTotBottV) as NumBottV,
sum(TT.NumTotBottSM) as NumBottSM
from
(select
P.idprodotti as IdProdotto,
case
when (P.Annata <> '') then CONCAT(P.nome, ' - ',P.Annata)
else P.nome
end as NomeProdotto,
(D.NumCartoni * D.ConfezioniDa) as NumTotBottV,
0 as NumTotBottSM,
F.IdFornitori,
F.nome as NomeFornitore
from
prodotti P
inner join dettagli D on D.idprodotto = P.idprodotti and
D.Anno = $anno
inner join ordini O on O.IdOrdini = D.IdOrdine and
O.Anno = $anno
inner join fornitori F on F.IdFornitori = P.Fornitore
where
$where
union all
select
P.idprodotti as IdProdotto,
case
when (P.Annata <> '') then CONCAT(P.nome, ' - ',P.Annata)
else P.nome
end as NomeProdotto,
0 as NumTotBottV,
(D.NumCartoni * D.ConfezioniDa) as NumTotBottSM,
F.IdFornitori,
F.nome as NomeFornitore
from
prodotti P
inner join scontomerce D on D.idprodotto = P.idprodotti and
D.Anno = $anno
inner join ordini O on O.IdOrdini = D.IdOrdine and
O.Anno = $anno
inner join fornitori F on F.IdFornitori = P.Fornitore
where
$where
) as TT
group by
IdProdotto,
NomeProdotto,
IdFornitori,
NomeFornitore
order by
$orderBy
" ;
$query = "
select
TT.IdProdotto,
TT.NomeProdotto,
TT.DescDettaglio,
TT.IdFornitori,
TT.NomeFornitore,
sum(TT.NumTotBottV) as NumBottV,
sum(TT.NumTotBottSM) as NumBottSM
from
(select
P.idprodotti as IdProdotto,
case
when (P.Annata <> '') then CONCAT(P.nome, ' - ',P.Annata)
else P.nome
end as NomeProdotto,
D.DescDettaglio,
(D.NumCartoni * D.ConfezioniDa) as NumTotBottV,
0 as NumTotBottSM,
F.IdFornitori,
F.nome as NomeFornitore
from
prodotti P
inner join dettagli D on D.idprodotto = P.idprodotti and
D.Anno = $anno
inner join ordini O on O.IdOrdini = D.IdOrdine and
O.Anno = $anno
inner join fornitori F on F.IdFornitori = P.Fornitore
where
$where
union all
select
P.idprodotti as IdProdotto,
case
when (P.Annata <> '') then CONCAT(P.nome, ' - ',P.Annata)
else P.nome
end as NomeProdotto,
D.DescDettaglio,
0 as NumTotBottV,
(D.NumCartoni * D.ConfezioniDa) as NumTotBottSM,
F.IdFornitori,
F.nome as NomeFornitore
from
prodotti P
inner join scontomerce D on D.idprodotto = P.idprodotti and
D.Anno = $anno
inner join ordini O on O.IdOrdini = D.IdOrdine and
O.Anno = $anno
inner join fornitori F on F.IdFornitori = P.Fornitore
where
$where
) as TT
group by
IdProdotto,
NomeProdotto,
DescDettaglio,
IdFornitori,
NomeFornitore
order by
$orderBy
" ;
list($n, $d) = $db->RecuperaDati($query) ;
for ($i = 0; $i<$n ; $i++ )
{
$arrIdProdotti[] = $d['IdProdotto'][$i] ;
if ($d['DescDettaglio'][$i] != "")
$arrProdotti[] = htmlspecialchars($d['DescDettaglio'][$i]) ;
else
$arrProdotti[] = htmlspecialchars($d['NomeProdotto'][$i]) ;
$arrFornitori[] = htmlspecialchars($d['NomeFornitore'][$i]) ;
$arrTotali[] = $d['NumBottV'][$i] + $d['NumBottSM'][$i] ;
$arrVenduto[] = $d['NumBottV'][$i] ;
$arrSM[] = $d['NumBottSM'][$i] ;
$Totale += $d['NumBottV'][$i] + $d['NumBottSM'][$i] ;
$TotaleVenduto += $d['NumBottV'][$i] ;
$TotaleSM += $d['NumBottSM'][$i] ;
}
if ($ordinaper == 2)
{
if ($direction == "ASC")
$orderByDir = SORT_ASC ;
else
$orderByDir = SORT_DESC ;
array_multisort($arrTotali, $orderByDir, $arrIdProdotti, $arrProdotti, $arrFornitori, $arrVenduto, $arrSM) ;
}
@reset($arrIdProdotti) ;
for($i=0; $i" ;
$str .= "{$arrProdotti[$i]}" ;
$str .= "{$arrFornitori[$i]}" ;
$str .= "{$arrTotali[$i]}" ;
$str .= "{$arrVenduto[$i]}" ;
$str .= "{$arrSM[$i]}" ;
$str .= "" ;
?>