Material de Apoyo Crud PHP - Diplomado Desarrollo Web
Material de Apoyo Crud PHP - Diplomado Desarrollo Web
Material de Apoyo Crud PHP - Diplomado Desarrollo Web
El CRUD en programación es una operación informática básica con la cual todo aplicativo
web debe cumplir de una u otra forma estrechamente ligada a la manipulación e interacción
con una base de datos.
Empezaremos con algo que a priori parece elemental y obvio pero muchos dejan de lado su
importancia y es la organización de las carpetas, de nuestro espacio de trabajo. Como en la
vida, el orden es un factor importante a la hora de optimizar procesos, buscar información y
saber hacia dónde movernos.
A este mismo nivel, crearemos una carpeta llamada images. Acá es donde guardaremos las
imágenes que queremos que se vean en nuestro proyecto.
Abrimos la carpeta schedulePatients en nuestro editor de código Visual Studio Code,
recordemos pararnos sobre la carpeta, dar click derecho e indicar la opción “Abri con Code”.
La otra forma es abriendo directamente nuestro Visual Studio Code, dirigirnos a la parte
superior izquierda y encontrar la opción “File” o “Archivo”; se desplegará un pequeño menú
donde indicaremos la opción “Open Folder” o “Abrir Carpeta” y ahí en esa ventana
emergente buscamos nuestra carpeta schedulePatients. Al abrirla, lo primero que haremos
será crear un archivo llamado config.php dentro de la carpeta config que hemos creado
anteriormente:
1) Seleccionamos la carpeta config, como vemos, la opción está habilitada porque se nos
resalta con un color azul y una flecha hacia abajo. Esto nos indica que estamos dentro de la
carpeta config y podemos crear un archivo
2) El siguiente paso será ubicar el ícono de una hoja con un símbolo más ( + ) el cual nos
dará la indicación de “Nuevo Archivo” o “New File”. Daremos click y veremos que se nos
habilitará una pequeña caja de texto de la siguiente forma:
A continuación, crearemos otro archivo dentro de la carpeta config. A este nuevo archivo lo
llamaremos Database.php el cual tendrá toda la lógica de conexión con nuestra base de
datos. Crearemos una clase llamada Database la cual contendrá variables con la
información de nuestra base de datos como contraseñas, nombre de la base de datos,
usuario y servidor:
Una vez tenemos el control de autorización por parte del constructor, alias el celador de
nuestra edificio, crearemos la lógica que se encargará de validar si la base de datos existe o
no, si los datos de usuario y contraseñas coinciden o no. De forma coloquial, queremos
indicar nuestro nombre (usuario), oficina a la cual nos dirigimos (contraseña) y el nombre de
la persona con la cual nos queremos reunir (nombre de la base de datos). De esto se
encargará la función connectToDatabae() de la línea #24:
Para finalizar con los temas de configuración. Crearemos un archivo dentro de la carpeta
config llamado function.php cuya funcionalidad será la de indicar el proceso lógica de la
carga de archivos como lo son las imágenes que queremos subir a nuestra aplicación:
Recordemos siempre apoyarnos en el/la especialista a cargo para resolver dudas a mayor
profundidad. Éste documento tiene únicamente la finalidad de dar un paso a paso guiado de
la forma más sencilla posible sobre la creación de los distintos archivos con los cuales se
trabajará, el orden del código a implementar, recalcar las buenas prácticas y un soporte
fisíco al cual podamos tener acceso junto con los videos encontrados en la plataforma de la
IBERO, las grabaciones de las sesiones de acompañamiento de el/la especialista, el
asesoramiento vía discord que ofrece el/la especialista, la retroalimentación que se haga
por medio de la plataforma de la IBERO.
Nuestro proyecto debe estar de esta forma a nivel de carpetas y archivos, fijémonos en el
costado izquierdo de nuestro Visual Studio Code para revisar la jerarquía de las carpetas:
A la altura de las carpetas config e images, crearemos un archivo llamado index.php donde
agregaremos código más conocido para nosotros. Crearemos una estructura básica de
HTML. Éste archivo será la página principal con la cual el usuario empezará a interactuar:
Al inicio del archivo index.php agregaremos la estructura básica de PHP pues necesitamos
que éste archivo se comunique directamente con el archivo config.php que hemos creado
anteriormente. Como podemos ver, esto se encuentra declarado en la línea #2
Una vez tengamos una estructura básica de HTML, añadiremos nuevamente un fragmento
de código de PHP pues necesitaremos un menú de navegación genérico el cual sea mucho
más fácil de modificar si contamos con un proyecto que tenga una gran cantidad de
pestañas web. Esto se encuentra especificado en la línea #15.
Para crear una nueva carpeta, buscamos el ícono de una carpeta con el símbolo más ( + )
la cual dirá “New Folder” o “Nueva Carpeta”. Esto habilitará una caja de texto donde
escribiremos el nombre de nuestra carpeta:
Por el momento nuestro formulario no es funcional, por lo que al enviar los datos del
paciente, no saben a dónde debe llegar, es decir, no saben a qué archivo debe llegar, no
saben a que función deben llegar para que sus datos sean validados. Para ello, al principio
de nuestro código HTML, en el archivo add.php agregaremos un pedazo de código PHP
donde validamos si los campos del formulario están vacíos o no, si existe una imagen
previamente cargada o no. De estar vacíos los campos o de existir algún tipo de error como
datos repetidos o incompatibilidad en el formato de la imagen, se le notificará al paciente
que hubo un error en el registro, de lo contrario, se le dirá al paciente que se ha registrado
de forma satisfactoria:
Ahora debemos especificar que los datos enviados por el formulario, se deben guardar en la
base de datos que hemos creado. Crearemos dentro de la carpeta Patients un archivo
llamado Patient.php:
A nivel de lógica el archivo hará lo siguiente: conectarse con los archivos config.php y
Database.php para coloquialmente hablando y tener un mejor entendimiento del proceso, ir
al edificio y pedirle a nuestro celador que nos deje ingresar a la una determinada oficina.
Crearemos una clase llamada Patient con un constructor. Necesitamos crear una función
que se encargue de recibir los datos que vienen desde el formulario del archivo add.php
para ser procesos y enviados a la base de datos donde serán guardados. Éste proceso lo
vemos en el fragmento de código que abarca las líneas #15 hasta #22 donde guardamos en
variables, los datos de los formularios. En las líneas #24 y #25 enviamos las variables con la
información del formulario a nuestra base de datos para que nuestro paciente pueda
registrar y guardarse sin problema.
Una vez comprobamos que se registra y guarda correctamente nuestro paciente,
procederemos a hacer toda la lógica y codificación para mostrar a todos los pacientes que
ya se han registrado en nuestro aplicativo. Crearemos un segundo archivo index.php solo
que éste se encontrará dentro de la carpeta Patients de la siguiente forma:
En este archivo que acabamos de crear, irá la estructura del html que nos mostrará una lista
de los pacientes que se encuentren registrados y activos en nuestra plataforma.
Agregaremos al inicio del código HTML, un fragmento de código PHP que tendrá parte de la
lógica que irá a traer los datos de los paciente de la base de datos para plasmarlos,
imprimirlos, mostrarlos en nuestra plataforma:
En la línea #6 estamos invocando una función llamada getAll(). En este momento la función
no existe, por lo cual la crearemos en el archivo Patients.php pues es éste archivo quien se
encarga de hacer la lógica más robusta de nuestro aplicativo. Para crear la función getAll()
nos ubicamos en la línea de código #27 (debajo del corchete de la función save que
creamos anteriormente para guardar nuestro paciente)
Volvemos ahora a nuestro archivo index.php pero el que se encuentra dentro de la carpeta
Patients. Crearemos ahora sí el HTML donde se visualizará la lista de pacientes existentes
en nuestra base de datos. Recordemos que al trabajar con HTML siempre debemos agregar
la etiqueta <!DOCTYPE html> para evitar errores de sintaxis a nivel de código:
Ya tenemos la lógica que hace las funciones de guardar o registrar un paciente y de mostrar
a todos los pacientes. Ahora crearemos la lógica que brindará funcionalidad a las opciones
de editar la información de un paciente y a eliminar a un paciente. En nuestro archivo
Patient.php escribiremos las siguientes funciones: getOne(), update() y remove()
Una vez tenemos identificado a nuestro paciente a modificar, crearemos la función update()
que recibirá en este caso todos los datos del paciente, tanto los datos antiguos como los
nuevos que vamos a actualizar. Su funcionalidad es muy similar a la función sabe() que
realizamos en páginas anteriores la cual nos permitía registrar a nuestro paciente. ¿Qué
cambia? Únicamente la función de la base de datos. Como podemos ver en la línea #49,
tenemos una funcionalidad propia de la base de datos llamada UPDATE, ésta función es la
que nos permite modificar o actualizar los datos de nuestro paciente en lugar de crear un
nuevo paciente.
Hemos hablado de tener un formulario con los datos previamente cargados de nuestro
paciente y que es allí donde podrán ser modificados. Hemos creado la función de actualizar
nuestro paciente y ahora crearemos el formulario donde activaremos esta función. Vamos a
crear un archivo llamado edit.php dentro de la carpeta Patients:
Para terminar, nos falta la lógica que se encargará de hacer funcionar la opción remove() o
eliminar paciente. Vamos a nuestro archivo Patient.php ubicándonos en la línea de código
#52 debajo de la función update() y escribimos lo siguiente:
Al igual que pasaba con la función getOne(), remove() recibe el dato del ID o identificación
del usuario para saber a qué paciente vamos a eliminar. El botón que se encarga de activar
esta función lo hemos creados en el archivo index.php que se encuentra dentro de la
carpeta Patients, el cual mostraba los datos de todos los pacientes que se encuentran
registrados en nuestra base de datos, así como los botones para actualizar paciente y
eliminar paciente.