• User

    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


  • ModSenior

    Ciao biagiosurace,

    La sintassi corretta dovrebbe essere cosi:
    [php]
    $this->Cell(0,6,'ELENCO DIPLOMATI RIGH IANNO SCOLASTICO:'.$id_corsisti
    ,0,1,'C');
    [/php]


  • User

    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]
    <?php

    require('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


  • User Attivo

    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


  • User

    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 Ok

    Grazie
    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