Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/07/2011, 14:55
Jibril
 
Fecha de Ingreso: julio-2010
Mensajes: 75
Antigüedad: 13 años, 8 meses
Puntos: 2
Cómo manipular la clase FPDF

Buenas. Necesito crear una serie de reportes con datos de Mysql y presentarlos en una tabla. tengo el siguiente código para crear una tabla:
Código PHP:
            $estado=$_POST['estado'];
                
ob_end_clean(); 
                include 
"conexion.php";//nos conectamos con la base de datos 
                        
                
if(($estado!=""))
                {    
            
                    require(
'fpdf.php'); //clase para reporte pdf
                        
                    
$Resmysql_query("SELECT facilitador.cedula, facilitador.nombre, facilitador.apellido, facilitador.correo, tlf_facilitador.movil, tlf_facilitador.fijo FROM facilitador, tlf_facilitador WHERE estado = '$estado' AND facilitador.cedula=tlf_facilitador.cedula",$conexion)or die(mysql_error());
                                
//consultas de mysql
                            
            //esta es la consulta que viene desde la base de datos
            



                
            
$pdf=new FPDF(); //se crea un objeto de la clase pdf


            
$pdf->AddPage();//se añade una pagin

            
$pdf->SetFont('Arial','B',6);//se selecciona la fuente
            
$pdf->SetMargins(25,30);//se manejan los margenes de la hoja
             
            
$pdf->Ln(3); //salto de linea en el reporte
             
$pdf-> Cell(0,15,"LISTA DE FACILITADORES CUYO ESTADO ES: " .$estado ,0);//titulo
             
$pdf->Ln(3);
             
$pdf-> Cell(23,15,"PARA LA FECHA: " .date('d/m/y'),0);
              
$pdf->Ln(3);
             
$pdf-> Cell(0,15,"HORA: ".date('h:i A',time()-16200),10);
             
            
// $pdf-> Cell(0,0,date('d/m/y'),0);//fecha del reporte
            
             
$pdf->Ln(10);
             
            
            
            
//Calcular el Length maximo de nombre
            
            
$pdf->SetFillColor(0,0,250);//color de las tablas y fondo
            
$pdf->SetTextColor(0);
            
            
$pdf->SetDrawColor(0,0,250);
            
$pdf->SetLineWidth(.3);
            
$pdf->SetFont('','B');
            
            
$esta=false;//variable para controlar si la consulta no devuelve resultados
            
            //if(($data1['numero']=="")&&($data2['numero']==""))
            
$header=array('CEDULA','NOMBRES','APELLIDOS','CORREO','MOVIL','FIJO');//encabezado de la tabla
             
            
                
                           
foreach($header as $col1)//se recorre el arreglo del encabezado para imprimir esta parte de la tabla en el reporte
                           
{
                             
                                if (
$col1=="CEDULA")
                                
$pdf-> Cell(25,5,$col1,1); //si se trata de la columna del tema se le agrega 60 como tamaño
                                
else
                                {
                                      
$pdf->Cell(25,5,$col1,1);//del resto es 25
                                
}
                                
                           
                           }
                           
                               
                             
                            
              
                           
$pdf->Ln(5);
                           
             
$pdf->SetFillColor(224,235,255);//colores de nuevo
                
$pdf->SetTextColor(0);
                
$pdf->SetFont('');
            
                
                
                
                    While(
$row=mysql_fetch_row($Res))//se recorre el resultado de la consulta por filas y cada una de ellas por columnas
                
{
                        if(
$row[0]!=""//si se encontro algo entonces es que hay resultado
                        
{
                            
$esta=true;
                               foreach(
$row as $col)//se recorre cada campo de una tupla para imprimirlo en su lugar respectivo
                               
{
                               
                                          if (
$row[2]==$col)//si se trata del tema
                                        
$pdf-> Cell(25,6,$col,1); //se imprime pero con tamaño de 60
                                        
else
                                        {
                                        
                                            
$pdf-> Cell(25,6,$col,1);//sino se imprime pero con tamaño de 25 normal
                                            
                                        
}
                                }
                          
                    
                         
$pdf->Ln();
                                       
                         }
                            
                 }
                
            } 

Mi problema es que de la manera como crea la tabla no tengo dominio sobre la alineaciòn de los campos. Por ejemplo, tengo un campo Teléfono que lo quiero pegado a la izquierda, otros centrados y otros pegados de la derecha, y por lo menos el encabezado de la tabla lo quiero poner en un color, es decir, donde van los nombres de los campos, y algunas celdas cambiarles el color.
Agradezco su ayuda

Última edición por Jibril; 15/07/2011 a las 15:02