fpdf

pup3770

Utente Attivo
30 Mag 2012
122
0
16
Ciao Ragazzi,
ho visto che la libreria "fpdf" mi potrebbe tornare utile per salvare in un file pdf quello che mi viene fuori da una query.

Ho il sorgente:
PHP:
<html>
<head>
<title> Visualizzazione l'aggregazione secondo id_dipendente </title>
</head>
<body>

<?php
	$connessione = mysql_connect("localhost","root","root") or die ("ATTENZIONE: Errore di connessione al database\n");	
	$selezione_db = mysql_select_db("ProgDataWarehouse", $connessione) or die ("ATTENZIONE: Errore nella selezione del database\n");

//Query che seleziona id_dipendente, nome, cognome e mostra il risultato della somma in corrispondenza dell'id_dipendente che è presente nella tabella dipendenti, raggruppa tutti gli ordini fatti da un dipendente e ne somma la quantità
	$query = "SELECT o.id_dipendente, d.nome, d.cognome, SUM(quantita) as totale \n"
    . "FROM ordini o, dipendenti d\n"
    . "WHERE o.id_dipendente = d.id_dipendente\n"
    . "GROUP BY o.id_dipendente LIMIT 0, 30 ";
    	
	$result = mysql_query($query);

	$numrows = mysql_num_rows($result); 
         
        echo "<big>Sono stati letti <span style=\"color:red\">{$numrows}</span> ordini per dipendente</big>"; 
        echo "<h2><big> Dati tabella Ordini aggregati per dipendente </big></h2>"; 
     



while ($row = mysql_fetch_assoc($result)) { 
                
                echo "ID dipendente: <strong>{$row['id_dipendente']}</strong><br>"; 
                
                
                $subSql   = "SELECT * FROM dipendenti WHERE id_dipendente = {$row['id_dipendente']}"; 
                $subQuery = mysql_query($subSql, $connessione); 
                $subRow   = mysql_fetch_assoc($subQuery); 
                 
                echo "Nome dipendente: <strong>{$subRow['nome']}</strong><br>"; 
                echo "Cognome dipendente: <strong>{$subRow['cognome']}</strong><br>";                
                
                echo "Quantita': <strong>{$row['totale']}</strong><br>"; 
                 
                 
                 
                echo "<br><br>===========================<br><br>"; 




            } 


?>
</body>
</html>

che mi stampa a video l'aggregazione tra gli ordini in base al dipendente che ha effettuato l'ordine e mi salva la quantità degli ordini effettuati per ogni dipendente.

Se io volessi stampare su un file pdf tale contenuto, potrei utilizzare fpdf.
Ho scaricato fpdf scaricato da internet ed inserito in "htdocs" di MAMP.
Per stampare su pdf potrei utilizzare quanto segue:

Codice:
require('fpdf.php'); 
$pdf =new FPDF();

$pdf -> AddPage(); 
$pdf -> SetFont('Arial', 'B', 16 ); 
$pdf -> Cell(40, 10, $row['id_ordine'] ); 
$pdf -> Cell(40, 10, $subRow['nome'] ); 
$pdf -> Cell(40, 10, $subRow['cognome'] ); 
$pdf -> Cell(40, 10, $row['totale'] ); 

$pdf -> Output('prova2.pdf');

Ho provato ad inserire nel while tutto il codice eccetto:
Codice:
require('fpdf.php'); 
$pdf =new FPDF();
che l'ho messo prima del ciclo.

Mi crea come è giusto che sia il file .pdf denominato prova2, però mi crea più pagine pari alla quantità di reali aggregazioni create. Mi fa visualizzare la prima e poi Adobe Reader si blocca.

Come potrei risolvere?
 

pup3770

Utente Attivo
30 Mag 2012
122
0
16
Grazie per la risposta nefyt, Era sorto anche a me il dubbio e ho già provato a metterlo fuori. Non ricordo di preciso l'output e non posso provare in quanto sono in fila al semaforo, se non erro mi creava la pagina bianca o mi scriveva nel file solo la prima riga. Più tardi proverò il tuo consiglio. Necessita installazione?
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Grazie per la risposta nefyt, Era sorto anche a me il dubbio e ho già provato a metterlo fuori. Non ricordo di preciso l'output e non posso provare in quanto sono in fila al semaforo, se non erro mi creava la pagina bianca o mi scriveva nel file solo la prima riga. Più tardi proverò il tuo consiglio. Necessita installazione?
Necessita solo dell'upload sul sito web, poi basta studiarsi la documentazione e capisci subito come funziona (2-3min :ilpirata:)
 

pup3770

Utente Attivo
30 Mag 2012
122
0
16
Scusa se risp senza aver provato ancora ma per fare l'upload sul sever intendi copiare i file in htdocs o si fa qualche altra procedura con MAMP?
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Quindi tutto nella directory htdocs o nella directory MAMP?
Cosa stai utilizzando? Xampp? Comunque si uppa tutto il contenuto (la singola cartella chiamata dompdf) in htdocs poi
segui la documentazione e guardati l'eventuali configurazioni che vuoi e le basi
 

pup3770

Utente Attivo
30 Mag 2012
122
0
16
ragazzi, ho provato ma idem. Sicuramente sbaglio qualcosa. Ho cercato online ma solo parole parole parole. Potete gentilmente spiegarmi dalla A alla Z come installare queste librerie su MAMP e come utilizzarla e integrarla nel file visto che ho provato di tutto, tradotto tutti i siti di download e guida sia di "fpdf" e sia di "dompdf".

Grazie anticipatamente
 

pup3770

Utente Attivo
30 Mag 2012
122
0
16
Nessuno conosce le funzioni di report. Strano. Io continuo a cercare e provare ma nulla. Qualcuno mi aiuti.:hammer:
 

pup3770

Utente Attivo
30 Mag 2012
122
0
16
Penso di aver fuso il pc ma ho sistemato qualcosa ho creato un layout però se io dovessi stampare esempio 6 elementi, lui mi crea 6 pagine pdf in un unico file.
Davvero assurdo.
Ho letto in giro che $pdf -> AddPage(); si dovrebbe eliminare, ma se lo elimino non mi va il codice.
Vi posto il codice:

PHP:
<html>
<head>
<title> Visualizzazione e stampa su file pdf l'aggregazione secondo id_dipendente </title>
</head>
<body>


<?php
	$connessione = mysql_connect("localhost","root","root") or die ("ATTENZIONE: Errore di connessione al server\n");	
	$selezione_db = mysql_select_db("ProgDataWarehouse", $connessione) or die ("ATTENZIONE: Errore nella selezione del database\n");

//Query che seleziona id_dipendente, nome, cognome e mostra il risultato della somma in corrispondenza dell'id_dipendente che è presente nella tabella dipendenti, raggruppa tutti gli ordini fatti da un dipendente e ne somma la quantità
	$query = "SELECT o.id_dipendente, d.nome, d.cognome, SUM(quantita) as totale \n"
    . "FROM ordini o, dipendenti d\n"
    . "WHERE o.id_dipendente = d.id_dipendente\n"
    . "GROUP BY o.id_dipendente LIMIT 0, 30 ";
    	
	$result = mysql_query($query);

	$numrows = mysql_num_rows($result); 
         
        echo "<big>Sono stati letti <span style=\"color:red\">{$numrows}</span> ordini per dipendente</big>"; 
        echo "<h2><big> Dati tabella Ordini aggregati per dipendente </big></h2>"; 

     
    //include('classi/fpdf_mctable.php'); 

require('fpdf.php'); 
$pdf = new FPDF(); //genero l'oggetto pdf
$pdf -> Open();
$pdf = new FPDF('L','mm','A4'); 

while ($row = mysql_fetch_assoc($result)) { 
                
                echo "ID dipendente: <strong>{$row['id_dipendente']}</strong><br>"; 
                
                
                $subSql   = "SELECT * FROM dipendenti WHERE id_dipendente = {$row['id_dipendente']}"; 
                $subQuery = mysql_query($subSql, $connessione); 
                $subRow   = mysql_fetch_assoc($subQuery); 
                 
                echo "Nome dipendente: <strong>{$subRow['nome']}</strong><br>"; 
                echo "Cognome dipendente: <strong>{$subRow['cognome']}</strong><br>";                
                
                echo "Quantita': <strong>{$row['totale']}</strong><br>"; 
                 
                 
                 
                echo "<br><br>===========================<br><br>"; 

$pdf -> AddPage();
//$pdf -> SetAutoPageBreak();

$pdf -> SetFont('Arial', 'B', 10);
$pdf -> Cell(50, 10, 'id_dipendente',1,'',C);
$pdf -> Cell(50, 10, 'nome dipendente',1,'',C);
$pdf -> Cell(50, 10, 'cognome dipendente',1,'',C);
$pdf -> Cell(50, 10, 'totale acquistato',1,1,C);

$pdf -> Cell(50, 10, $row['id_dipendente'],1,'',C);
$pdf -> Cell(50, 10, $subRow['nome'],1,'',C); 
$pdf -> Cell(50, 10, $subRow['cognome'],1,'',C); 
$pdf -> Cell(50, 10, $row['totale'],1,'',C);


            } 
           
$pdf -> Output('aggregazione_ordini.pdf');

?>
</body>
</html>

Come risolvere?
Le ho provate tutte, credetemi
 
Discussioni simili
Autore Titolo Forum Risposte Data
E fpdf salvare e aprire il file PHP 4
T Fpdf salvataggio su directory protetta PHP 0
M Stampa fpdf e lettere accentate PHP 0
M NbLines dentro FPDF PHP 3
Y Problema visualizzazione PDF generato da fpdf PHP 1
D FPDF non funziona PHP 3
D FPDF scritta ruotata di 90° da mysql PHP 5
M [PHP] FPDF Salvare su disco C locale Windows PHP 3
A [PHP] FPDF error: Some data has already been output, can't send PDF file PHP 5
M [PHP] come stampare un Qr-code in FPDF PHP 8
xone Problema FPDF con pagina dinamica PHP PHP 1
elpirata [PHP] Larghezza colonne Fpdf PHP 0
S [PHP] Fpdf e testo a capo con cell PHP 5
M Visualizzare su più pagine risultato query con fpdf PHP 6
M Come andare a capo con la libreria FPDF PHP 6
A testo ruotato con fpdf asp Classic ASP 0
N FPDF stampare pdf automaticamente su stampante impostata PHP 0
K Stampare più pagine con fpdf PHP 5
Emix problema da remoto a locale con FPDF PHP 6
L Fpdf e immagini PHP 1
M Uso del file fpdf.asp Classic ASP 2
L fpdf .. immagine di sfondo e posizionamento testo PHP 1
Emix Generare PDF da righe HTML - FPDF PHP 10
M liberia fpdf creare form che al premere al bottone di sumit mi crei il pdf PHP 0
L fpdf e immagine da ripetere 9 volte PHP 12
T Usare FPDF PHP 0
neo996sps FPDF: stampa di immagini con ciclo PHP 1
I FPDF Table PHP 1
A Richiamo variabili . FPDF PHP 1
L Problema tabelle con fpdf PHP 2
F Stampa con Fpdf PHP 1
F Libreria Fpdf per PHP PHP 0
max1850 Errore FPDF: il file non inizia con '%PDF-' Classic ASP 6
JellyBelly Upload FPDF PHP 1
P problema con le tabelle di fpdf PHP 1
mptech Fpdf PHP 0

Discussioni simili