Descargar archivos CSV de tabla con PHP y MySQL

Descargar archivos CSV de tabla con PHP y MySQL

Aprende como descargar archivos CSV, desde una tabla de un base de datos, mostrada en una página web.

Vídeo Explicativo del Funcionamiento de la aplicación

En el vídeo a continuación se explica el funcionamiento de la aplicación, el código y la puesta a punto en un servidor local:

Se comparte el repositorio con todos los scripts colgado en GitHub en el siguiente enlace:

Descargar archivo CSV

La base de datos se comparte a continuación:

-- phpMyAdmin SQL Dump
-- version 5.0.2
-- https://www.phpmyadmin.net/
--
-- Servidor: 127.0.0.1
-- Tiempo de generación: 12-05-2021 a las 04:37:58
-- Versión del servidor: 10.4.11-MariaDB
-- Versión de PHP: 7.4.4

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Base de datos: `base_csv`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `employee`
--

CREATE TABLE `employee` (
  `emp_id` int(11) NOT NULL,
  `firstname` varchar(50) NOT NULL,
  `lastname` varchar(50) NOT NULL,
  `address` varchar(50) NOT NULL,
  `age` int(5) NOT NULL,
  `job` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Volcado de datos para la tabla `employee`
--

INSERT INTO `employee` (`emp_id`, `firstname`, `lastname`, `address`, `age`, `job`) VALUES
(1, 'Fernando', 'Florez', 'Calle 97 12 - 24', 30, 'Abogado'),
(2, 'Pedro', 'Pérez', 'Calle 12 13 - 21', 50, 'Contador'),
(3, 'Emilio', 'Galán', 'Av 123 N 12 24', 28, 'Empresario'),
(4, 'Juan', 'García', 'Calle 93 N 17 20', 24, 'Ingeniero de Desarrollo'),
(5, 'Juan', 'Pérez', 'Calle 93 N 123 13', 55, 'Profesor'),
(6, 'Eduardo', 'Galvez', 'Calle 14 N 12 13', 55, 'Mecánico');

--
-- Índices para tablas volcadas
--

--
-- Indices de la tabla `employee`
--
ALTER TABLE `employee`
  ADD PRIMARY KEY (`emp_id`);

--
-- AUTO_INCREMENT de las tablas volcadas
--

--
-- AUTO_INCREMENT de la tabla `employee`
--
ALTER TABLE `employee`
  MODIFY `emp_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Explicación del proceso de la implementación del sistema de descarga de archivo csv desde una tabla de una base de datos

Para el desarrollo de la aplicación se utiliza la función fopen() si quieres saber con más detalles como se usa está función puedes ver el siguiente vídeo tutorial donde explico con mayor profundidad su funcionamiento:

La función fputcsv convierte un array con el que están compuestos los valores de la tabla en un archivo csv.

Para especificar el tipo de archivo que se va a descargar se utilizaron los siguientes headers:

header('Content-Type: text/csv; charset=UTF-8');
header('Content-Disposition: attachment; filename=data.csv');

Implementación del sistema para descargar archivos CSV de tabla con PHP y MySQL en un servidor local

Como es habitual explicaré el proceso para la puesta a punto del sistema en un ordenador a nivel local, cabe agregar que el sistema es plenamente gratuito, ya que últimamente había subido aplicaciones de pago que tengo colgadas en mi segmento premium en este mismo blog.

Descarga de aplicaciones necesarias para la implementación del servidor web, la descarga del proyecto y su respectiva edición

La aplicaciones son las siguientes:

XAMPP es necesario para que quede un servidor web que esté listo para peticiones PHP y MySQL, Git es el gestor de repositorios con el que vamos a descargar el proyecto de GitHub y Visual Studio Code es mi editor de código preferido.

Obtener el sistema para descargar archivos CSV de tabla con PHP y MySQL en tu ordenador a nivel local

Para descargar el sistema en tu ordenador, abre Visual Studio Code, pulsa File, Open Folder y accede a la siguiente ubicación:

C:\xampp\htdocs

Habilita la terminal pulsando en View y Terminal y escribe el siguiente código:

git clone https://github.com/configuroweb/descargar_csv.git

Dentro de la carpeta htdocs, se va a crear una nueva carpeta descargar_csv que contendrá el proyecto por completo.

Importación del Código SQL en el sistema del gestor de base de datos de phpMyAdmin en el sistema para Descargar archivos CSV de tabla con PHP y MySQL

Para que se active el servidor de base de datos y el hosting web debes abrir XAMPP, elegir el idioma que prefieras entre Inglés y Alemán y activa los servicios de Apache y MySQL, luego crea la base de datos con el nombre base_csv te vas al apartado SQL y pegas el código de la base de datos que está al comienzo de este post.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *