Visualizzazione dei risultati da 1 a 5 su 5

Discussione: tabella pdf

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    27

    tabella pdf

    ho usato uno script che mi fa visualizzare il contenuto del database in formato pdf ed in realtà è così solo che siccome il contenuto di alcuni campi è molto lungo(articoli) le parole continuano tutte sulla stessa riga al di fuori del foglio, perchè non va a capo?
    Spero che qualcuno possa aiutarmi
    grazie

  2. #2
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    Per iniziare sarebbe comodo conoscere lo script che hai usato e la classe per la generazione dei pdf.
    "Nei prossimi tre anni col mio governo vogliamo vincere anche il cancro, che colpisce ogni anno 250.000 italiani e riguarda quasi due milioni di nostri concittadini"

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    27
    il codice è questo:

    <?php
    define('FPDF_FONTPATH','font/');
    require('mysql_table.php');

    class PDF extends PDF_MySQL_Table
    {
    function Header()
    {
    //Title
    $this->SetFont('Arial','',18);
    $this->Cell(0,6,'Articoli,0,1,'C');
    $this->Ln(10);
    //Ensure table header is output
    parent::Header();
    }
    }

    # dati del database

    $db=mysql_connect ("localhost", "", "") or die ('I cannot connect to the database because: ' . mysql_error());
    mysql_select_db ("");

    $pdf=new PDF();
    $pdf->Open();
    $pdf->AddPage();

    // Table data
    $pdf->AddCol('data',170,'Date');
    $prop=array('HeaderColor'=>array(235,233,235),
    'padding'=>2);
    $pdf->Table("SELECT DATE_FORMAT(data, '%d-%M-%Y ore %H:%i')data FROM proposals ORDER BY id DESC LIMIT 0,1",$prop);

    // Table autore
    $pdf->AddCol('author',170,'Author');
    $prop=array('HeaderColor'=>array(235,233,235),
    'padding'=>2);
    $pdf->Table("select author from proposals order by id desc limit 0,1",$prop);

    // Table title
    $pdf->AddCol('title',170,'Descriptive title of the proposal');
    $prop=array('HeaderColor'=>array(235,233,235),
    'padding'=>2);
    $pdf->Table("select title from proposals order by id desc limit 0,1",$prop);
    // Table testo
    $pdf->AddCol('testo',170,'proposal');
    $prop=array('HeaderColor'=>array(235,233,235),
    'padding'=>2);
    $pdf->Table("select title from proposals order by id desc limit 0,1",$prop);



    $pdf->Output();
    ?>

    e questo è il file che richiama:
    <?php
    require('fpdf.php');

    class PDF_MySQL_Table extends FPDF
    {
    var $ProcessingTable=false;
    var $aCols=array();
    var $TableX;
    var $HeaderColor;
    var $RowColors;
    var $ColorIndex;

    function Header()
    {
    //Print the table header if necessary
    if($this->ProcessingTable)
    $this->TableHeader();
    }

    function TableHeader()
    {
    $this->SetFont('Arial','B',10);
    $this->SetX($this->TableX);
    $fill=!empty($this->HeaderColor);
    if($fill)
    $this->SetFillColor($this->HeaderColor[0],$this->HeaderColor[1],$this->HeaderColor[2]);
    foreach($this->aCols as $col)
    $this->Cell($col['w'],6,$col['c'],1,0,'L',$fill);
    $this->Ln();
    }

    function Row($data)
    {
    $this->SetX($this->TableX);
    $ci=$this->ColorIndex;
    $fill=!empty($this->RowColors[$ci]);
    if($fill)
    $this->SetFillColor($this->RowColors[$ci][0],$this->RowColors[$ci][1],$this->RowColors[$ci][2]);
    foreach($this->aCols as $col)
    $this->Cell($col['w'],5,$data[$col['f']],1,0,$col['a'],$fill);
    $this->Ln();
    $this->ColorIndex=1-$ci;
    }

    function CalcWidths($width,$align)
    {
    //Compute the widths of the columns
    $TableWidth=0;
    foreach($this->aCols as $i=>$col)
    {
    $w=$col['w'];
    if($w==-1)
    $w=$width/count($this->aCols);
    elseif(substr($w,-1)=='%')
    $w=$w/100*$width;
    $this->aCols[$i]['w']=$w;
    $TableWidth+=$w;
    }
    //Compute the abscissa of the table
    if($align=='C')
    $this->TableX=max(($this->w-$TableWidth)/2,0);
    elseif($align=='C')
    $this->TableX=max($this->w-$this->rMargin-$TableWidth,0);
    else
    $this->TableX=$this->lMargin;
    }

    function AddCol($field=-1,$width=-1,$caption='',$align='L')
    {
    //Add a column to the table
    if($field==-1)
    $field=count($this->aCols);
    $this->aCols[]=array('f'=>$field,'c'=>$caption,'w'=>$width,'a'=> $align);
    }

    function Table($query,$prop=array())
    {
    //Issue query
    $res=mysql_query($query) or die('Error: '.mysql_error()."
    Query: $query");
    //Add all columns if none was specified
    if(count($this->aCols)==0)
    {
    $nb=mysql_num_fields($res);
    for($i=0;$i<$nb;$i++)
    $this->AddCol();
    }
    //Retrieve column names when not specified
    foreach($this->aCols as $i=>$col)
    {
    if($col['c']=='')
    {
    if(is_string($col['f']))
    $this->aCols[$i]['L']=ucfirst($col['f']);
    else
    $this->aCols[$i]['L']=ucfirst(mysql_field_name($res,$col['f']));
    }
    }
    //Handle properties
    if(!isset($prop['width']))
    $prop['width']=0;
    if($prop['width']==0)
    $prop['width']=$this->w-$this->lMargin-$this->rMargin;
    if(!isset($prop['align']))
    $prop['align']='L';
    if(!isset($prop['padding']))
    $prop['padding']=$this->cMargin;
    $cMargin=$this->cMargin;
    $this->cMargin=$prop['padding'];
    if(!isset($prop['HeaderColor']))
    $prop['HeaderColor']=array();
    $this->HeaderColor=$prop['HeaderColor'];
    if(!isset($prop['color1']))
    $prop['color1']=array();
    if(!isset($prop['color2']))
    $prop['color2']=array();
    $this->RowColors=array($prop['color1'],$prop['color2']);
    //Compute column widths
    $this->CalcWidths($prop['width'],$prop['align']);
    //Print header
    $this->TableHeader();
    //Print rows
    $this->SetFont('Arial','',11);
    $this->ColorIndex=0;
    $this->ProcessingTable=true;
    while($row=mysql_fetch_array($res))
    $this->Row($row);
    $this->ProcessingTable=false;
    $this->cMargin=$cMargin;
    $this->aCols=array();
    }
    }
    ?>

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    27
    nessuno può aiutarmi?

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    27
    non esiste un altro modo per rendere stampabili i dati provenienti da un database?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.