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
- Conexión a la base de datos : Se utiliza
mysqli
para conectar y obtener los datos de la tablacoches
. -
FPDF :
-
AddPage()
: Añade una nueva página. SetFont()
: Define el tipo y tamaño de fuente.-
Cell()
: Crea celdas para texto en el PDF. -
Salida :
-
Output('D', 'coches.pdf')
: Genera el PDF y lo fuerza a descargarse con el nombrecoches.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.
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.