RecuperaDati($query) ; for ($i=0; $i<$n; $i++) { if (! array_key_exists($d['IdAgente'][$i], $arrVal)) { $arrVal[$d['IdAgente'][$i]] = array('Nome' => $d['NomeAgente'][$i]) ; } $arrVal[$d['IdAgente'][$i]]['NumeroOrdini'] ++ ; $arrVal[$d['IdAgente'][$i]]['AmmontareOrdini'] += $d['AmmontareOrdineSenzaIva'][$i] ; $arrVal[$d['IdAgente'][$i]]['Venduto'] += $d['BaseProvvigionale'][$i] ; $arrVal[$d['IdAgente'][$i]]['ProvvVenduto'] += $d['AmmontareProvvAgente'][$i] ; if ($d['ImportoFattura'][$i] > 0) { $arrVal[$d['IdAgente'][$i]]['Fatturato'] += $d['BaseProvvigionale'][$i] ; $arrVal[$d['IdAgente'][$i]]['ProvvFatturato'] += $d['AmmontareProvvAgente'][$i] ; } } foreach ($arrVal as $idAgente => $arrSingoloAgente) { $arrValN[] = $arrSingoloAgente['Nome'] ; $arrValNO[] = $arrSingoloAgente['NumeroOrdini'] ; $arrValAO[] = $arrSingoloAgente['AmmontareOrdini'] ; $arrValV[] = $arrSingoloAgente['Venduto'] ; $arrValPV[] = $arrSingoloAgente['ProvvVenduto'] ; $arrValF[] = $arrSingoloAgente['Fatturato'] ; $arrValPF[] = $arrSingoloAgente['ProvvFatturato'] ; } switch($colToSort) { case 0: // Nome Agente array_multisort($arrValN, $orderByDir, $arrValNO, $arrValAO, $arrValV, $arrValPV, $arrValF, $arrValPF) ; break ; case 1: // Numero Ordini array_multisort($arrValNO, $orderByDir, $arrValN, $arrValAO, $arrValV, $arrValPV, $arrValF, $arrValPF) ; break ; case 2: // Ammontare Ordini array_multisort($arrValAO, $orderByDir, $arrValN, $arrValNO, $arrValV, $arrValPV, $arrValF, $arrValPF) ; break ; case 3: // Venduto array_multisort($arrValV, $orderByDir, $arrValN, $arrValNO, $arrValAO, $arrValPV, $arrValF, $arrValPF) ; break ; case 4: // Provvigione Venduto array_multisort($arrValPV, $orderByDir, $arrValN, $arrValNO, $arrValAO, $arrValV, $arrValF, $arrValPF) ; break ; case 5: // Fatturato array_multisort($arrValF, $orderByDir, $arrValN, $arrValNO, $arrValAO, $arrValV, $arrValPV, $arrValPF) ; break ; case 6: // Provvigione Fatturato array_multisort($arrValPF, $orderByDir, $arrValN, $arrValNO, $arrValAO, $arrValV, $arrValPV, $arrValF) ; break ; } $arrParGen = array() ; $arrParGen = RecuperaParametriGenerali($arrParGen, $tparametri) ; $hTitle = $arrParGen['NomeAgenzia'] ; $hString = "Sede operativa: " . $arrParGen['IndirizzoAgenzia'] . "\n" ; $hString .= "Telefono: " . $arrParGen['TelefonoAgenzia'] . " Fax: " . $arrParGen['FaxAgenzia'] . " -- P.I. " . $arrParGen['PartitaIvaAgenzia'] . " -- mail: " . $arrParGen['MailAgenzia'] ; $titolo = "Totali Agenti Anno $anno" ; // create new PDF document $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); // set document information $pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor('Nicola Asuni'); $pdf->SetTitle('TCPDF Example 001'); $pdf->SetSubject('TCPDF Tutorial'); $pdf->SetKeywords('TCPDF, PDF, example, test, guide'); // set default header data $pdf->SetHeaderData('../../images/Logo1.gif', PDF_HEADER_LOGO_WIDTH, $hTitle, $hString); // set header and footer fonts $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); //set margins $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); //set auto page breaks $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); //set image scale factor $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); //set some language-dependent strings $pdf->setLanguageArray($l); // --------------------------------------------------------- // set font $pdf->SetFont('times', 'BI', 12); // add a page $pdf->AddPage(); // print a line using Cell() $pdf->Cell(0, 8, $titolo, 0, 1, 'C'); $pdf->SetFont('helvetica', 'B', 8); // set color for filler $pdf->SetFillColor(0, 0, 0); $pdf->SetTextColor(255, 255, 255); $pdf->SetDrawColor(255); $pdf->SetLineWidth(0.1); $pdf->Cell(30, 5, 'Agente', 1, 0, 'C', 1); $pdf->Cell(20, 5, 'Num Ordini', 1, 0, 'C', 1); $pdf->Cell(25, 5, 'Amm Ordini', 1, 0, 'C', 1); $pdf->Cell(25, 5, 'Venduto', 1, 0, 'C', 1); $pdf->Cell(25, 5, 'Provv Venduto', 1, 0, 'C', 1); $pdf->Cell(25, 5, 'Fatturato', 1, 0, 'C', 1); $pdf->Cell(25, 5, 'Provv Fatturato', 1, 0, 'C', 1); $pdf->Ln(); // Color and font restoration $pdf->SetFillColor(224, 235, 255); $pdf->SetTextColor(0); $pdf->SetFont(''); $pdf->SetDrawColor(0); // Data $fill = 0; @reset($arrValN) ; @reset($arrValNO) ; @reset($arrValAO) ; @reset($arrValV) ; @reset($arrValPV) ; @reset($arrValF) ; @reset($arrValPF) ; for($i=0; $iCell(30, 6, $arrValN[$i], 'LR', 0, 'L', $fill); $pdf->Cell(20, 6, nfl($arrValNO[$i]), 'LR', 0, 'R', $fill); $pdf->Cell(25, 6, nfp($arrValAO[$i]), 'LR', 0, 'R', $fill); $pdf->Cell(25, 6, nfp($arrValV[$i]), 'LR', 0, 'R', $fill); $pdf->Cell(25, 6, nfp($arrValPV[$i]), 'LR', 0, 'R', $fill); $pdf->Cell(25, 6, nfp($arrValF[$i]), 'LR', 0, 'R', $fill); $pdf->Cell(25, 6, nfp($arrValPF[$i]), 'LR', 0, 'R', $fill); $pdf->Ln(); $fill=!$fill; } $pdf->Cell(175, 0, '', 'T'); // --------------------------------------------------------- //Close and output PDF document $pdf->Output('Totali.pdf', 'I'); ?>