[PHP] Generare file pdf con inserimento dati

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
40
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
40
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: 936
  • tabella_famigliearticoli.pdf
    3,2 KB · Visite: 813

marino51

Utente Attivo
28 Feb 2013
3.203
207
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
40
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
40
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
40
ok ce lo fatta
 

Allegati

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

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.203
207
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: 625

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
40
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
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1

Discussioni simili