Ver Mensaje Individual
  #7 (permalink)  
Antiguo 25/11/2009, 06:21
Avatar de Algadar
Algadar
 
Fecha de Ingreso: abril-2009
Mensajes: 115
Antigüedad: 15 años
Puntos: 1
Respuesta: Problema con Multicell en fpdf en php

Cita:
Iniciado por joelluis17 Ver Mensaje
Hola amigo!

1. Bajate la clase de FPDF desde aqui: http://www.fpdf.org/es/dl.php?v=16&f=zip
2. Lo descomprimes y le das el nombre de fpdf
3. Luego en la carpeta donde esta tu sistema o donde piensas utilizar la funcion guardas ese archivo (carpeta que acabas de descomprimir y tiene el nombre de fpdf).


Y ya lo tendras instalado para ser usado!

El fpdf tiene muchas ventajas y desventajas yo lo uso porque es facil y parendi con el, pero a medida que voy aprendiendo mas me doy cuenta que la comunidad o creadores del mismo no tienen suficiente informacion para realizar buenos reportes!

Practicamente esta muy abandonada la informacion del mismo.

Pero para generar reportes funciona bien (aunque repito ya es la 3ra vez que presento problemas y nadie nadieeee me a podido ayudar, y asi hay muchas personas mas!)

Para generar el reporte con los datos de tu Base de Datos es muy parecedio a com trabajas con tus sentencias en PHP, el SELECT tiene la misma seintaxis y todo!

Te dejare un ejemplo!



Código PHP:
<?php
require('fpdf.php');

class 
PDF extends FPDF
{
    
//Cabecera de página
    
function Header()
    {
        
$this->Image('images/barra.jpg',50,10,180);
        
$this->SetFont('Arial','B',6);
        
$this->Cell(0,20,"Fecha de Impresion: ".date('d - m - Y')."  ",'',1,'R');
            
$this->Ln(2);
    }
    
//Pie de página
    
function Footer()
    {
        
//Posición: a 2 cm del final
        
$this->SetY(-20);
         
//Arial italic 8
        
$this->SetFont('Arial','',8);
        
$this->Cell(300,4,'Firma:__________________________                                Responsable:__________________________','',1,'C');
         
//Arial italic 8
        
$this->SetFont('Arial','BI',8);
        
$this->Cell(250,2,'GENERAL MOTORS VENEZOLANA C.A','',1,'L');
        
$this->Cell(250,5,'Sistema para la Gestion de CNP','',1,'L');
        
//Arial italic 8
        
$this->SetFont('Arial','BI',8);
        
//Número de página
        
$this->Cell(195,4,'Reporte de Materiales','T',0,'L');
        
$this->Cell(0,4,'Pagina '.$this->PageNo().'/TPAG','T',1,'R');
        
        

    }
}
//Fin de la clase


//Creación del objeto de la clase heredada
$pdf = new PDF('L','mm','LETTER');
$pdf->AliasNbPages('TPAG');
$pdf->SetTopMargin(20);
$pdf->SetLeftMargin(5);
$pdf->SetRightMargin(5);
$pdf->AddPage();



//Aqui te conectas a la base de datos, esta pagina no te la doy porque ya la debes tener si trabajas con php y mysql

include("../conexion.php");
$link=Conectarse();


//Aqui haces el llamado a la trabla de tu base de datos


    
$leer="SELECT  * FROM materiales order by id ASC";
    
$basededatos=mysql_db_query("singes","$leer");


$pdf->SetFont('Arial','B',7);
$pdf->Cell(230,5,"REPORTE DE MATERIALES",'',1,'C');




$pdf->SetFont('Arial','B',6);
$pdf->Cell(25,6,'Numero de Partes','TRLB',0,'C');
$pdf->SetFont('Arial','B',6);
$pdf->Cell(35,6,'Nombre','TRLB',0,'C');
$pdf->SetFont('Arial','B',6);
$pdf->Cell(140,6,'Especificaciones','TRLB',0,'C');
$pdf->SetFont('Arial','B',6);
$pdf->Cell(25,6,'Unidad/Medida','TRLB',0,'C');
$pdf->SetFont('Arial','B',6);
$pdf->Cell(25,6,'Codigo Arancelario','TRLB',0,'C');
$pdf->SetFont('Arial','B',6);
$pdf->Cell(15,6,'Status','TRLB',1,'C');






while(
$fila=mysql_fetch_array($basededatos))
    {
    
    
// Aqui empiezas a mostrar los datos

$pdf->SetFont('Arial','',6);    
$pdf->Cell(25,5,$fila[numero],'TRLB',0,'Q');
$pdf->SetFont('Arial','',6);    
$pdf->Cell(35,5,$fila[nombre],'TRLB',0,'Q');
$pdf->SetFont('Arial','',6);
$especificaciones=substr($fila[especificaciones],0,140);
$pdf->Cell(140,5,$especificaciones.'...','TRLB',0,'Q');
$pdf->SetFont('Arial','',6);    
$pdf->Cell(25,5,$fila[unidad],'TRLB',0,'Q');
$pdf->SetFont('Arial','',6);
$pdf->Cell(25,5,$fila[codigo_arancelario],'TRLB',0,'Q');
$pdf->SetFont('Arial','',6);
if(
$fila[statu]=='1')
{
$statu='Activo';
}
else
{
$statu='Inactivo';
}
$pdf->Cell(15,5,$statu,'TRLB',1,'Q');

}


$pdf->Ln(8);
$pdf->OutPut("Reporte de Materiales.pdf",'D');

?>
Lo guardas con el nombre que quieras; ejemplo: reporte.php

Ahora solo le hacer link (enlace) desde tu sistema y ya!

Ejemplo:

Puede hacer un enlace en tu menu de tu pagina o sistema:

fpdf/eporte.php

Recuerda que los reportes los colocaras en la carpeta fpdf por ñlo que al hacer el llamado solo debes agreagar el fpdf/ en los enlaces

Y al hacer clic sobre el lo descargara y ya!



Espero te sirva de ayuda!

Te estoy dando un ejemplo funcional y real de un reporte, ya que es una de mis sistemas (es decir no tiene errores porque lo uso actualmente)
por que lo colocas a las celdas esta propiedad 'TRLB', segun leo en el tutoorial debe ser 0 ó 1 ??