- Home
- Categorie
- Coding e Sistemistica
- PHP
- Creazione file in pdf con php
-
Creazione file in pdf con php
Carissimi nel silenzio ho lavorato per ottenere piccoli risultati adesso ho qualche difficoltà:
ho creato una pagina in php per ottenere alla fine un file in pdf solo che
non riesco ,sempre se si può fare, ad inserire nel titolo una variabile che viene presa con il metodo POST
ecco il codice:
<?php
require('mysql_table.php');
class PDF extends PDF_MySQL_Table
{
function Header()
{
//Title
$this->SetFont('Arial','',18);
$this->Cell(0,6,'ELENCO DIPLOMATI RIGH IANNO SCOLASTICO:$id_corsisti
',0,1,'C');
$this->Ln(10); //Ensure table header is output
parent::Header();
}
}
$id_corsisti=$_POST['annoscol'];
VORREI INSERIRE LA VARIABILE $id_corsisti DENTRO LA CELLA CELL(...)
come potrei ottenere il risultato?
Grazie Biagio
-
Ciao biagiosurace,
La sintassi corretta dovrebbe essere cosi:
[php]
$this->Cell(0,6,'ELENCO DIPLOMATI RIGH IANNO SCOLASTICO:'.$id_corsisti
,0,1,'C');
[/php]
-
Grazie per il Tuo interessamento ma non mi funziona, ho cercato di concatenare la variabile come tu mi indichi ma nulla da fare.
Vorrei postare il mio script, forse l'errore è altrove:
[PHP]
<?phprequire('mysql_table.php');
class PDF extends PDF_MySQL_Table
{
function Header()
{//Title
$this->SetFont('Arial','',18);
$this->Cell(0,6,'DIPLOMATI ITG RIGHI A.S.:'.$id_corsisti,0,1,'C');
$this->Ln(10);
//Ensure table header is output
parent::Header();
}
}//Connect to database
$db_username = 'root';
$db_password = '';
$db_host = 'localhost';
$id_corsisti=$_POST['annoscol'];//dato proveniente da un form
$link = mysql_connect("$db_host", "$db_username","$db_password") or die("Errore connessione: ". mysql_error());
mysql_select_db('diplomaconferma') or die("Errore apertura database: " . mysql_error());
$pdf=new PDF();
$pdf->AddPage();
//First table: put all columns automatically
$pdf->Table("select cognome,nome,datanascita,luogonascita,voto,su ,annoscol from confermatitolo where annoscol='$id_corsisti'");// funziona la selezione dell'anno
$pdf->Output();
?>[/PHP]
grazie se mi dai una dritta
Biagio
-
Ciao,
all'interno della classe non puoi vedere il contenuto di una variabile non globale esterna alla classe stessa.
Le soluzioni alternative possono esser diverse.
La più grezza e veloce è:
[php]
$this->Cell(0,6,'DIPLOMATI ITG RIGHI A.S.:'.$_POST['annoscol'],0,1,'C');
[/php]Una più "pulita" potrebbe essere questa:
[php]
class PDF extends PDF_MySQL_Table
{var $id_corsisti = NULL;
function Header()
{//Title
$this->SetFont('Arial','',18);
$this->Cell(0,6,'DIPLOMATI ITG RIGHI A.S.:'.$this->id_corsisti ,0,1,'C');
$this->Ln(10);
//Ensure table header is output
parent::Header();
}function setIdCorsisti($valore)
{
$this->id_corsisti = $valore;
}}
$db_username = 'root';
$db_password = '';
$db_host = 'localhost';
$link = mysql_connect("$db_host", "$db_username","$db_password") or die("Errore connessione: ". mysql_error());
mysql_select_db('diplomaconferma') or die("Errore apertura database: " . mysql_error());$pdf=new PDF();
$pdf->setIdCorsisti($_POST['annoscol']); //dato proveniente da un form
$pdf->AddPage();
//First table: put all columns automatically$pdf->Table("select cognome,nome,datanascita,luogonascita,voto,su ,annoscol from confermatitolo where annoscol='$id_corsisti'");// funziona la selezione dell'anno
$pdf->Output();[/php]
Alessandro
-
Grazie proverò la Tua indicazione, avevo risolto in un modo molto grezzo inserendo dentro la funzione header tutto lo script $id_corsisti....
e fuori dalla funzione ,cosi il dato in realtà viene letto dentro e fuori la funzione.
Tutto OkGrazie
Chiederei visto che utilizzo la classe mysql_table, non riesco a formattare le colonne in funzione al dato e kmi ritrovo dati piccoli in grande colonne.
Come si può regolare la larghezza delle colonne in funzione al suo contenuto?
Biagio