[PHP] Generare file pdf con inserimento dati

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
38
Buonasera amici del forum, spero di postare la mia richiesta nella sezione giusta;

Avendo creato con voi insert.php ora mi preme sapere come generare un file pdf con i dati raccolti e inviati al db , in questo file ci dovranno essere i dati utente, il logo la privacy da me creata e firma cliente

Grazie in anticipo.
 

Sergio Unia

Utente Attivo
7 Gen 2016
30
1
8
Todi
www.sunelweb.net
Ci sono varie librerie in rete per generare pdf con php. Io uso http://www.fpdf.org/ che forse non è la più evoluta ma ci sono abituato da tempo.
Un buon metodo è quello di estendere la classe FPDF che prevede già un metodo header, un footer e altre funzioni, quindi ottieni un resultSet dal database e in un ciclo componi le righe da scrivere e le passi alla classe che hai esteso.
Quando esci dal ciclo usi il metodo write per creare il pdf poi, opzionalmente, reindirizzi sul file creato per visualizzarlo.
Mi rendo conto che detto così non è molto chiaro ma se dai un'occhiata alla documentazione di FPDF poi posso chiarirti i dubbi.
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
38
si certo @Sergio Unia grazie cosi mi faccio un'idea ma il download che ho scaricato da fpdf v 1.8 devo inserirlo nel mio spazio web?
 

Sergio Unia

Utente Attivo
7 Gen 2016
30
1
8
Todi
www.sunelweb.net
Si, devi caricare l'intera cartella. Volendo puoi togliere la documentazione.
Ti allego due file: esempio.txt contiene il codice php, l'altro file è il pdf risultante.
Tieni conto che ho "semplificato" un po' il codice per renderlo più comprensibile ma non ho avuto modo di testarlo, quindi potrebbe avere qualche errore banale. Del resto non devi fare copia e incolla ma dovrebbe servirti solo per farti un'idea.
Prova a leggere il codice seguendo quello che ti ho scritto nel post precedente.
Fammi sapere ... buon lavoro.

Sergio
 

Allegati

  • esempio.txt
    3,1 KB · Visite: 652
  • tabella_famigliearticoli.pdf
    3,2 KB · Visite: 571

marino51

Utente Attivo
28 Feb 2013
3.038
192
63
Lombardia
puoi guardare anche questo esempio,
http://forum.mrw.it/threads/visualizzare-su-piu-pagine-risultato-query-con-fpdf.45828/#post-178422
lo script genera liste diverse semplicemente modificando dei parametri

la classe PDF può essere isolata in un suo file php e richiamata con "require_once" in tutti gli script "esecutori" in cui serve

in particolare puoi inserire il titolo della lista nella variabile apposita (che ora è solo inizializzata),
e nel ciclo "while" passare la sola riga letta dal db, togliendo gli "if" (che erano una specificità voluta da Max61)
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
38
Ragazzi è troppo difficile non ci riesco ho provato ma nulla se potete darmi voi una mano vi fornisco i dati altrimenti lascio perdere perchè è veramente difficile per me che è la prima volta che utilizzo queste librerie. Ho provato a scaricare questa versione fpdf.org ho inserito i file nel mio spazio web ma nulla giuro nn lo so usare :oops::oops::oops::oops::oops::oops::oops:
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
38
PHP:
<html>
<head>
<title>Selfcare :: cliente</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script src="script.js"></script> 
<head>

      <?php



         if(isset($_POST['Tessera'])) {



            $dbhost = 'localhost';



            $dbuser = '';



            $dbpass = '';



            $conn = mysql_connect($dbhost, $dbuser, $dbpass);



           



            if(! $conn ) {



               die('Could not connect: ' . mysql_error());



            }



           



            if(! get_magic_quotes_gpc() ) {



               $Tessera = addslashes ($_POST['Tessera']);
               
               $Codice_agenzia = addslashes ($_POST['Codice_agenzia']);
               
               $Agenzia = addslashes ($_POST['Agenzia']);

               $Nome = addslashes ($_POST['Nome']);

              $Cognome = addslashes ($_POST['Cognome']);

              $Codice_fiscale = addslashes ($_POST['Codice_fiscale']);

              $Codice_cliente = addslashes ($_POST['Codice_cliente']);

              $Indirizzo = addslashes ($_POST['Indirizzo']);

              $Comune = addslashes ($_POST['Comune']);

              $Data_di_nascita = addslashes ($_POST['Data_di_nascita']);

              $Indirizzo_email = addslashes ($_POST['Indirizzo_email']);

              $Telefono = addslashes ($_POST['Telefono']);

              $Username = addslashes ($_POST['Username']);

              $Password = addslashes ($_POST['Password']);
             
              $Conferma_password = addslashes ($_POST['Conferma_password']);



            }else {



               $Tessera = $_POST['Tessera'];
               
               $Codice_agenzia = $_POST['Codice_agenzia'];
               
               $Agenzia = $_POST['Agenzia'];

              $Cognome = $_POST['Cognome'];

               $Nome = $_POST['Nome'];

              $Codice_fiscale = $_POST['Codice_fiscale'];

              $Codice_cliente = $_POST['Codice_cliente'];

              $Indirizzo = $_POST['Indirizzo'];

              $Comune = $_POST['Comune'];

              $Data_di_nascita = $_POST['Data_di_nascita'];

              $Indirizzo_email = $_POST['Indirizzo_email'];

              $Telefono = $_POST['Telefono'];

              $Username = $_POST['Username'];

              $Password = $_POST['Password'];
             
              $Conferma_password = $_POST['Conferma_password'];

       

            }




             $sql = "INSERT INTO Profilo ". "(Tessera, Codice_agenzia, Agenzia, Cognome, Nome, Codice_fiscale, Codice_cliente, Indirizzo, Comune, Data_di_nascita, Indirizzo_email, Telefono, Username, Password, Conferma_password)"." VALUES('$Tessera', '$Codice_agenzia', '$Agenzia', '$Cognome','$Nome','$Codice_fiscale','$Codice_cliente', '$Indirizzo', '$Comune','$Data_di_nascita','$Indirizzo_email','$Telefono','$Username','$Password','$Conferma_password')";

            mysql_select_db('');
            $retval = mysql_query( $sql, $conn );



           



            if(! $retval ) {



               die('Could not enter data: ' . mysql_error());



            }


echo '<br><br>
<DIV align="center"><div style="width:900px;height:800px;-webkit-border-radius: 0px;-moz-border-radius: 0px;border-radius: dashed 0px;background-color:#FFFFFF;-webkit-box-shadow: #B3B3B3 16px 16px 16px;-moz-box-shadow: #B3B3B3 16px 16px 16px; box-shadow: #B3B3B3 16px 16px 16px;">
<table>
<tr>
<td ALIGN="LEFT" >
<div align="left"><img src="image.png" style="width:250; heigth:150; margin:7px;"></div>
</td>
<TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
<td>&nbsp;&nbsp;&nbsp;&nbsp; Modulo inserimento dati - UTENTE - ATTIVAZIONE CARTA</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;QUI INSERISCO IL CODICE A BARRE</td> //QUI DEVE APPARIRE L'IMMAGINE DEL CODICE 
   
</tr>
</table>

<fieldset>
<legend>DATI AZIENDA </legend>
<td><br></td>
<TABLE>
<tr>
<td><p>Codice agenzia</p>
<input type="text" value="$Codice_agenzia"></td>
<td><p>Tessera</p>
<input type="text" value="[$Tessera]"></td>
<td><p>Agenzia</p>
<input type="text" value="$Agenzia"></td>
<td><br><br><br></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>DATI ANAGRAFICI</legend>
<td><br></td>
<TABLE>
<tr>
<td>Nome
<input type="text" value="$Nome"></td>
<td>Cognome
<input type="text" value="$Cognome"></td>
<td>Data di nascita 
<input type="text" value="$Data_di_nascita"></td>
<td>Codice fiscale
<input type="text" value="$Codice_fiscale"></td>
</tr>
<td><br></td>
<tr>
<td>Indirizzo
<input type="text" value="$Indirizzo"></td>
<td>Comune
<input type="text" value="$Comune"></td>
<td>Indirizzo email
<input type="text" value="$Indirizzo_email"></td>
<td>Telefono
<input type="text" value="$Telefono"></td>
</tr>
</TABLE>
</fieldset>
</div>';

            mysql_close($conn);



         }else {



            ?>

grazie @Sergio Unia
 

Sergio Unia

Utente Attivo
7 Gen 2016
30
1
8
Todi
www.sunelweb.net
Ciao,
non ci siamo capiti, dicevo le tabelle del database.
Se hai phpmyadmin scegli la tabella "profilo", fai esporta, poi scegli "Solo struttura" e posti qui il file che ti genera.
Se non ci riesci dimmelo che ne faccio a meno e la ricostruisco dalla tua insert.
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
38
ok ce lo fatta
 

Allegati

  • Profilo.sql.zip
    777 bytes · Visite: 308

Sergio Unia

Utente Attivo
7 Gen 2016
30
1
8
Todi
www.sunelweb.net
Ottimo, ho scaricato il file e lo leggo.
Ora sono in ufficio, ci lavoro questa sera e ti posto il risultato entro domani mattina.
Una curiosità.... veramente la tabella contiene 2 miliardi di record ??? :eek::eek:
 

marino51

Utente Attivo
28 Feb 2013
3.038
192
63
Lombardia
no, non contiene 2 mld di record, è solo un modo per avere un numero a cifre costanti

ps, senza carattere di controllo, per cui in caso di "incidente" alla lettura, se dovesse essere inserito manualmente, c'è rischio di attribuire i punti non al legittimo proprietario
 

Sergio Unia

Utente Attivo
7 Gen 2016
30
1
8
Todi
www.sunelweb.net
Ciao Cris8380,
nel file compresso allegato troverai tre cartelle. La prima contiene la libreria fpdf (che puoi tranquillamente sostituire con quella che hai scaricato che è probabilmente più recente). La cartella "img" contiene un logo. Puoi sostituirlo con il tuo modificando il percorso (riga 21 del file MyPDF.class.php della cartella "pdf").
La cartella "pdf" contiene il codice php. Noterai che non è un solo file perché lo script ha una struttura 'genealogica':
la classe FPDF crea documenti generici vuoti, la classe "MyPDF" è sua "figlia" ed eredita le sue proprietà ma ne aggiunge di nuove e così via. E' in pratica un semplice esempio di programmazione ad oggetti.

Veniamo ora a quello che devi fare tu:

copia la cartella "pdf" nel tuo sito e modifica i permessi per renderla scrivibile
modifica il percorso del logo come detto sopra
leggi i commenti che ho inserito nel file profilo_pdf
modifica i parametri di connessione al db nel file profilo_pdf

lancia da browser : http://tuosito/pdf/profilo_pdf.php

e dovresti ottenere la visualizzazione del file pdf creato dallo script.

Se vuoi modificare il pdf ad esempio aggiungendo altre informazioni a quelle stampate da me dovresti riuscirci tranquillamente con i commenti che trovi nel codice, comunque se hai problemi postali qui.

Buona fortuna.

s.
 

Allegati

  • forum.zip
    215,5 KB · Visite: 422

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
38
Sergio non so davvero come ringraziarti per l'aiuto dato. spero di non avere problemi, davvero grazie.
 
Discussioni simili
Autore Titolo Forum Risposte Data
Tommy03 Generare file PHP dopo registrazione PHP 2
A [PHP] Generare nomi dei file con lettere minuscole e vocali senza accenti PHP 2
Joker37 Generare file txt con php estraendo codice html. PHP 4
M Classe in php 4 per generare file in Excel PHP 4
G PHP e Microsoft Teams: generare link videocall PHP 15
neo996sps [PHP e funzioni con PDO] Funzione per generare corpo tabella PHP 1
A [RISOLTO]Come generare query dinamica PHP-MYSQL PHP 2
K creare uno script in php , per generare in modo automatico query PHP 2
Z generare pagina da template con php PHP 2
U Generare bolle di trasporto con php PHP 3
M Visulizzare immagine con php PHP 4
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 1
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6
A Aiuto per pagina php PHP 0
E Php select option e ajax PHP 23
I Aiuto php Dependent Lookup PHP 0
T arretramento versione PHP... PHP 3
D problema php mysql PHP 1
D problema php mysql PHP 1
E Barra di avanzamento codice PHP PHP 4
G creazione menu a tendina e invio a pagina php PHP 1

Discussioni simili