Skip to content

UD 4 FPDF con conexión Mysqli

RA 6 Desarrolla aplicaciones web de acceso a almacenes de datos, aplicando medidas para mantener la seguridad y la integridad de la información.
  • a) Se han analizado las tecnologías que permiten el acceso mediante programación a la información disponible en almacenes de datos.
  • b) Se han creado aplicaciones que establezcan conexiones con bases de datos.
  • c) Se ha recuperado información almacenada en bases de datos.
  • d) Se ha publicado en aplicaciones web la información recuperada.
  • e) Se han utilizado conjuntos de datos para almacenar la información.
  • f) Se han creado aplicaciones web que permitan la actualización y la eliminación de información disponible en una base de datos.
  • g) Se han probado y documentado las aplicaciones web.

Actividad

Vamos a ampliar el entregable exportando datos con mysqli y FPDF para generar PDFs, una acción bastante común

Para exportar datos de una tabla llamada coches (con las columnas id, marca, modelo y anio) a un archivo PDF utilizando PHP y MySQLi, puedes usar una biblioteca como FPDF . A continuación, te explico el proceso con un ejemplo completo:

1. Configurar tu base de datos

Supongamos que tienes una base de datos llamada dwes y una tabla llamada coches , como habrás visto en el entregable tendrás diferentes tablas cada una con 4 columnas, así que será similar

id marca modelo anio
1 Toyota Corolla 2020
2 Ford Focus 2018
3 Honda Civic 2022

2. Instalar FPDF

Descarga la biblioteca FPDF desde fpdf.org y colócala en tu proyecto.

3. Mysqli y FPDF PHP

El siguiente código realiza la exportación de datos a un archivo PDF:

<?php
// Importar la biblioteca FPDF
require('fpdf.php');

// Conexión a la base de datos
$mysqli = new mysqli("localhost", "usuario", "contraseña", "mi_base_datos");

// Verificar conexión
if ($mysqli->connect_error) {
    die("Error en la conexión: " . $mysqli->connect_error);
}

// Consultar los datos de la tabla 'coches'
$query = "SELECT id, marca, modelo, anio FROM coches";
$resultado = $mysqli->query($query);

// Crear un nuevo PDF
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial', 'B', 12);

// Título del documento
$pdf->Cell(0, 10, 'Lista de Coches', 0, 1, 'C');
$pdf->Ln(10); // Salto de línea

// Encabezados de la tabla
$pdf->Cell(20, 10, 'ID', 1, 0, 'C');
$pdf->Cell(50, 10, 'Marca', 1, 0, 'C');
$pdf->Cell(50, 10, 'Modelo', 1, 0, 'C');
$pdf->Cell(30, 10, 'Anio', 1, 1, 'C');

// Agregar los datos a la tabla
while ($fila = $resultado->fetch_assoc()) {
    $pdf->Cell(20, 10, $fila['id'], 1, 0, 'C');
    $pdf->Cell(50, 10, $fila['marca'], 1, 0, 'C');
    $pdf->Cell(50, 10, $fila['modelo'], 1, 0, 'C');
    $pdf->Cell(30, 10, $fila['anio'], 1, 1, 'C');
}

// Cerrar la conexión
$mysqli->close();

// Salida del PDF
$pdf->Output('D', 'coches.pdf');
?>

4. Instrucciones destacadas

  1. Conexión a la base de datos : Se utiliza mysqli para conectar y obtener los datos de la tabla coches.
  2. FPDF :

  3. AddPage(): Añade una nueva página.

  4. SetFont(): Define el tipo y tamaño de fuente.
  5. Cell(): Crea celdas para texto en el PDF.

  6. Salida :

  7. Output('D', 'coches.pdf'): Genera el PDF y lo fuerza a descargarse con el nombre coches.pdf.

5. Resultado

Cuando accedes a este archivo PHP desde tu navegador, se genera un archivo PDF con el listado de coches, mostrando los datos en formato tabular.

1732514596073

1732514575903

6. Requisitos adicionales

  • Asegúrate de que los permisos de tu servidor permiten crear y descargar archivos.
  • Si necesitas personalizar más el diseño, consulta la documentación oficial de FPDF.