Você está na página 1de 3

El presente ejemplo explica como generar un reporte en PDF extrayendo datos de MySQL utilizando PHP.

Este ejemplo lo hacemos aprovechando el post anterior en el cual explicbamos como obtener datos de base de datos MySQL. Para la generacin de PDF utilizaremos la clase R&OS: pdf class de la cual ya hemos comentado en Generar PDF con PHP.

Crear el documento PDF Lo primero es crear una instancia para la creacin del documento PDF, para ello incluimos la librera class.ezpdf.php, luego creamos una variable del tipo Cezpdf en donde definimos el tipo de papel A4, luego definimos la fuente y los margenes. 1. require_once('class.ezpdf.php'); 2. $pdf =& new Cezpdf('a4'); 3. $pdf->selectFont('../fonts/courier.afm'); 4. $pdf->ezSetCmMargins(1,1,1.5,1.5); Obtenemos los registros desde MySQL Ahora procedemos a extraer los registros de nuestra base de datos, en este caso solo obtenemos el nombre, direccin y telefono de la tabla empresa de nuestra base de datos. 1. $conexion = mysql_connect("localhost", "usuario", "clave"); 2. mysql_select_db("demo", $conexion); 3. $queEmp = "SELECT nombre, direccion, telefono FROM empresa"; 4. $resEmp = mysql_query($queEmp, $conexion) or die(mysql_error()); 5. $totEmp = mysql_num_rows($resEmp); Creando el array de datos, ttulos y opciones A continuacin procedemos a crear matrices que luego utilizaremos en la creacin de nuestro PDF, en el caso que deseemos incluir una tabla con con datos debemos crear una matriz con estos datos, en nuestro caso asignamos los resultados de la consulta y le agregamos un campo adicional con un numero correlativo. Lo siguiente es crear la matriz con los nombres de la tabla, en este caso llamamos a esta matriz $titles en donde a cada campo agregado a la matriz de datos le hacemos corresponder un nombre que aparecer

como titulo de la fila. La tercera matriz indica los colores de las celdas, la orientacin y el ancho de la tabla. 1. $ixx = 0; 2. while($datatmp = mysql_fetch_assoc($resEmp)) { 3. $ixx = $ixx+1; 4. $data[] = array_merge($datatmp, array('num'=>$ixx)); 5. } 6. $titles = array( 7. 'num'=>'<b>Num</b>', 8. 'nombre'=>'<b>Empresa</b>', 9. 'direccion'=>'<b>Direccion</b>', 10. 'telefono'=>'<b>Telefono</b>' 11. ); 12. $options = array( 13. 'shadeCol'=>array(0.9,0.9,0.9), 14. 'xOrientation'=>'center', 15. 'width'=>500 16. ); Imprimiendo los Resultados Una vez que tenemos todos los datos preparados procedemos a generar el PDF con toda la informacin que deseamos. Iniciamos esto creando un titulo y subtitulo de texto, luego escribimos los resultados de la consulta con la funcin ezTable a la cual se pasamos los datos, ttulos y opciones. Finalmente al final del documento agregamos la fecha y hora de la generacin del documento. 1. $txttit = "<b>BLOG.UNIJIMPE.NET</b>\n"; 2. $txttit.= "Ejemplo de PDF con PHP y MYSQL \n"; $pdf->ezText($txttit, 12); $pdf->ezTable($data, $titles, '', $options); $pdf->ezText("\n\n\n", 10); $pdf->ezText("<b>Fecha:</b> ".date("d/m/Y"), 10); $pdf->ezText("<b>Hora:</b> ".date("H:i:s")."\n\n", 10); $pdf->ezStream(); Unimos todos estos bloques y tenemos listo nuestro script para generar reportes en PDF, pueden ver el ejemplo funcionando en php-mysql.php. Para finalizar les dejo los archivos del ejemplo para que lo prueben y modifiquen a sus necesidades.
3. 4. 5. 6. 7. 8. 9.

NUEVO. <?php require('fpdf.php'); require ('conexion.php'); $query="select id,nombre,placa,marca,modelo,color,transmision,come ntario,ano from tbl_carro where id=36"; $registro = mysql_query($query,$con) or die( mysql_error() ); while($row=mysql_fetch_array($registro,MYSQL_NUM)) { $pdf=new FPDF(); $pdf->AddPage(); $pdf->SetFont('Arial','B',16); $pdf->Cell(40,10,$row[7],1); $pdf->Cell(40,10,$row[4],1); $pdf->Ln(10);

$pdf->Output(); } ?>

Você também pode gostar