Práctica PHP. Acceso a una base de datos MySQL con PHP
Apuntes de BD para DAW, DAM y ASIR
Curso 2023/2024
1 Introducción a PHP
Para conocer los fundamentos del lenguaje de programación PHP vamos a utilizar los apuntes de introducción a PHP del módulo de Implantación de Aplicaciones Web.
2 Entorno de desarrollo con la pila LAMP
El entorno de desarrollo con la pila LAMP lo vamos a crear con Docker y Docker Compose.
3 Ejemplos
3.1 CRUD básico en PHP
Esta práctica consiste en la creación de un sistema CRUD muy básico haciendo uso de PHP y MySQL. Un CRUD es una aplicación que implementa las operaciones Create, Read, Update y Delete de acceso a bases de datos.
La aplicación que vamos a utilizar permite registrar usuarios, hacer login, añadir, editar, borrar y ver registros de una base de datos MySQL. Vamos a trabajar con diferentes versiones de la misma aplicación para ir estudiando su evolución. Los repositorios de las aplicaciones que vamos a utilizar están disponibles en GitHub:
- Versión 1. Código Monolítico o Código Espagueti
- Versión 2. Controlador y Vista
- Versión 3. Modelo, Vista, Controlador (MVC)
3.2 Delegado
Desarrolle una aplicación web sencilla en PHP que permita elegir el delegado de clase. La aplicación consta de los siguientes requisitos técnicos:
- El lenguaje de programación utilizado para acceder a la base de datos será PHP.
- Hará uso de Bootstrap, una librería open source de componentes HTML y CSS.
Los requisitos funcionales de la aplicación son los siguientes:
- Se mostrará una página inicial con el listado de todos los alumnos de la clase.
- Desde la página inicial cada alumno seleccionará su nombre de alumno y simulará que hace login en la aplicación para pasar a la siguiente página.
- Una vez que un alumno hace login le aparece el listado de todos los alumnos que se han ofrecido como candidatos. Y podrá seleccionar el nombre del alumno que desea votar.
- Una vez realizada la votación el alumno puede consultar el listado con el resultado de las votaciones.
- Los datos que se guardan de cada alumno son el nombre, los dos apellidos y si se ofrece como candidato o no, para ser delegado.
- También habrá que guardar el voto que ha elegido cada alumno, la fecha/hora y desde que dirección IP realizó la votación.
3.2.1 Código fuente
Puede encontrar el código de una posible solución en el siguiente repositorio de GitHub:
3.2.2 Diagrama entidad/relación
3.2.3 Paso a tablas (SQL)
CREATE DATABASE delegado CHARACTER SET utf8;
USE delegado;
CREATE TABLE alumno (
id INTEGER UNSIGNED AUTO_INCREMENT PRIMARY KEY,
VARCHAR(50) NOT NULL,
nombre VARCHAR(50) NOT NULL,
apellido1 VARCHAR(50),
apellido2 'sí','no') NOT NULL DEFAULT 'sí',
candidato ENUM(INTEGER UNSIGNED,
vota_a
fecha_hora_voto DATETIME,VARCHAR(15),
ip FOREIGN KEY (vota_a) REFERENCES alumno(id)
=InnoDB DEFAULT CHARSET=utf8; ) ENGINE
4 Referencias
- PHP.net
- Bootstrap
- GitHub
- Introducción a PHP. Apuntes del módulo DWES de Alfredo Moreno
- Arquitectura MVC. Apuntes del módulo DWES de Alfredo Moreno
5 Licencia
Esta
página forma parte del curso
Bases de Datos de
José Juan Sánchez Hernández y
su contenido se distribuye bajo una
licencia
Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0
Internacional.