RSS

FPDF: Reporte estático

22 Nov

Ahora les mostraré cómo hacer un reporte estático con un arreglo de arreglos, es decir, recibirá un arreglo de tipo:

$misDatos = array(
array(‘nombre’ => ‘Hugo’, ‘apellido’ => ‘Martínez’, ‘matricula’ => ‘20420423’),
array(‘nombre’ => ‘Araceli’, ‘apellido’ => ‘Morales’, ‘matricula’ => ‘204909’),
array(‘nombre’ => ‘Georgina’, ‘apellido’ => ‘Galindo’, ‘matricula’ => ‘2043442’),
array(‘nombre’ => ‘Luis’, ‘apellido’ => ‘Dolores’, ‘matricula’ => ‘20411122’),
array(‘nombre’ => ‘Mario’, ‘apellido’ => ‘Linares’, ‘matricula’ => ‘2049990’),
array(‘nombre’ => ‘Viridiana’, ‘apellido’ => ‘Badillo’, ‘matricula’ => ‘20418855’),
array(‘nombre’ => ‘Yadira’, ‘apellido’ => ‘García’, ‘matricula’ => ‘20443335’));

Usaremos el método cabeceraHorizontal( ) y el método de datosHorizontal( ). Éste último es el que modificaremos, agregando una celda para cada $clave del array, es decir, una celda para nombre,, otra para apellido y finalmente una para matrícula.

Al final de este código, integramos en un método llamado tablaHorizontal( ) ambos métodos de cabecera y datos, para que en el index.php solo usar un método que reciba dos arreglos

Veamos el código:

PDF.php

<?php
require('fpdf/fpdf.php');

class PDF extends FPDF
{
    function cabeceraHorizontal($cabecera)
    {
		$this->SetXY(10, 10);
		$this->SetFont('Arial','B',10);
		foreach($cabecera as $fila)
		{
			//Atención!! el parámetro valor 0, hace que sea horizontal
	    	$this->Cell(24,7, utf8_decode($fila),1, 0 , 'L' );
    	}
    }

    function datosHorizontal($datos)
    {
		$this->SetXY(10,17);
		$this->SetFont('Arial','',10);
		//Siendo un array tipo: $datos => $fila
		//Significa que $datos tiene 'nombre' 'apellido' 'matricula'
		//$fila tiene cada valor de los antes mencionados
		foreach($datos as $fila)
		{
	    	$this->Cell(24,7, utf8_decode($fila['nombre']),1, 0 , 'L' );
	    	$this->Cell(24,7, utf8_decode($fila['apellido']),1, 0 , 'L' );
	    	$this->Cell(24,7, utf8_decode($fila['matricula']),1, 0 , 'L' );
	    	$this->Ln();//Salto de línea para generar otra fila
    	}
    }

    //Integrando cabecera y datos en un solo método
    function tablaHorizontal($cabeceraHorizontal, $datosHorizontal)
    {
		$this->cabeceraHorizontal($cabeceraHorizontal);
		$this->datosHorizontal($datosHorizontal);
	}

} // FIN Class PDF
?>

index.php

<?php
include_once('PDF.php');
$pdf = new PDF();

$pdf->AddPage();

$miCabecera = array('Nombre', 'Apellido', 'Matrícula');

$misDatos = array(
			array('nombre' => 'Hugo', 'apellido' => 'Martínez', 'matricula' => '20420423'),
			array('nombre' => 'Araceli', 'apellido' => 'Morales', 'matricula' =>  '204909'),
			array('nombre' => 'Georgina', 'apellido' => 'Galindo', 'matricula' =>  '2043442'),
			array('nombre' => 'Luis', 'apellido' => 'Dolores', 'matricula' => '20411122'),
			array('nombre' => 'Mario', 'apellido' => 'Linares', 'matricula' => '2049990'),
			array('nombre' => 'Viridiana', 'apellido' => 'Badillo', 'matricula' => '20418855'),
			array('nombre' => 'Yadira', 'apellido' => 'García', 'matricula' => '20443335')
			);

$pdf->tablaHorizontal($miCabecera, $misDatos);

$pdf->Output(); //Salida al navegador
?>

Y acá la salida:

Reporte estático

Reporte estático

Cuando se haga un reporte dinámico, se usa esta misma idea, solo que el arreglo llamado misDatos vendrá de una consulta a la base de datos. Puedes copiar y pegar más elementos al arreglo para ver lo que pasa cuando termina una hoja 😉

Cabeceras y Datos <— Anterior || Siguiente —> Estilo de Celdas

@huguidugui || ringhugos@gmail.com

 
1 comentario

Publicado por en 22 noviembre, 2013 en FPDF, PHP

 

Una respuesta a “FPDF: Reporte estático

  1. huguidugui

    7 junio, 2014 at 21:18

    Envíame el código que tienes a ringhugos@gmail.com te ayudo con gusto 😉

     

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: