Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Estructura de contenidos
INTRODUCCIÓN........................................................................3
SESIÓN 1: CONSTRUYENDO LA BASE DE DATOS..................... 3
1. Activación de los servicios en XAMPP........................................4
2. Construcción de la base de datos.............................................6
3. Creación de las tablas............................................................8
4. Creación de relaciones............................................................14
SESIÓN 2: Desarrollando la Interface Gráfica de Usuario (GUI).
Plantilla.................................................................................. 20
1. Vista del proyecto..................................................................21
2. Estructura del proyecto...........................................................21
3. Maquetación.........................................................................24
SESIÓN 3: DESARROLLANDO LA INTERFACE GRÁFICA DE USUARIO
(GUI). INICIO Y ASIGNAR CITA............................................. 45
1. Inicio...................................................................................45
2. Asignar Cita..........................................................................49
SESIÓN 4: DESARROLLANDO LA INTERFACE GRÁFICA DE USUARIO
(GUI). CONSULTAR CITA Y CANCELAR CITA........................... 53
1. Consultar cita........................................................................54
2. Cancelar cita.........................................................................55
SESIÓN 5: CODIFICACIÓN DE LAS CLASES DEL MODELO........ 57
1. Clase Paciente.......................................................................58
2. Clase Cita.............................................................................59
3. Clase Conexion......................................................................61
4. Clase GestorCita.....................................................................62
5. Método consultarCitaPorId()....................................................63
6. Método consultarCitasPorDocumento()......................................63
7. Método consultarPaciente().....................................................64
8. Método agregarPaciente().......................................................64
9. Método consultarMedicos()......................................................65
SESIÓN 6: CODIFICACIÓN DE LAS CLASES DEL
CONTROLADOR....................................................................... 66
1. Bootstrap y clase Controlador..................................................66
2. Agregar Cita.........................................................................69
3. Consultar Cita.......................................................................74
4. Cancelar Cita........................................................................75
SESIÓN 7: INCLUYENDO JAVASCRIPT, AJAX Y JQUERY.......... 78
1. Consultar Paciente.................................................................78
2. Ingresar Paciente...................................................................83
3. Datepicker............................................................................89
SESIÓN 8: INCLUYENDO JAVASCRIPT, AJAX Y JQUERY 2....... 93
1. Llenar el select de médicos.....................................................93
2. Llenar el select de horas.........................................................94
3. Método consultarHorasDisponibles().........................................96
4. Llenar el select de consultorio..................................................99
5. Consultar Citas......................................................................100
6. Cancelar Citas.......................................................................102
SESIÓN 9: GENERACIÓN DEL REPORTE DE LA CITA................ 106
1. Generación del reporte de asignación de cita.............................106
2
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
INTRODUCCIÓN
El presente tutorial es una guía paso a paso sobre el desarrollo completo
de un caso de uso en el lenguaje de programación PHP, comprende desde
el desarrollo de la base de datos hasta la generación de reportes.
El caso de uso que servirá de fuente para el desarrollo de la aplicación
es “Gestionar citas”, caso de uso del Sistema Gestión de Citas que se ha
venido desarrollando:
Sistema Gestión
CITAS
Administración
datos pacientes
Administración
datos tratamientos
Médico
Gestionar citas
Generar reportes
Empleado
3
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
Luego de instalado el XAMPP, es necesario activar los servicios con que cuenta.
4
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Con este proceso ya están activos los servicios y es posible empezar a trabajar.
Para verificar que los servicios se están ejecutando, se abre el navegador, (Internet
Explorer, Opera, Google Chrome), y en la barra de direcciones se copia una de estas 2
direcciones.
• http://localhost
• http://127.0.0.1
Para ambos casos, se mostrara la pantalla de inicio del XAMPP.
5
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
6
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Lo primero que se debe hacer es crear la base de datos Citas. Para ello,
dentro del MySql Gui Tools se da clic derecho sobre el Panel Schemata y
en el menú contextual se selecciona la opción Create New Schema.
7
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
8
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
Este cuadro de dialogo tiene los componentes necesarios para crear cada
una de las tablas de la base de datos.
• Lo primero que encontramos es el campo Table Name. Allí se ingresara el
nombre de la tabla, que para el primer caso será PACIENTES.
• Enseguida de este campo se encuentra Database, en el cual se especifica la
base de datos en la cual se creara la tabla, para este caso será citas.
• Hay un tercer campo llamado Comment, por si se desea realizar algún
comentario acerca de la base de datos, En este caso no se utilizara.
9
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
Se selecciona este motor debido a que es muy fiable y soporta integridad referencial,
programas almacenados, transacciones.
10
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
11
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
.
• Nos debe aparecer un cuadro de dialogo con la consulta SQL generada para
la creación de la tabla. Se da clic sobre el botón Execute.
• CITAS.
12
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• MEDICOS.
• CONSULTORIOS.
13
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
4. Creación de relaciones.
Ya tenemos listas la base de datos y las tablas, pero falta un detalle muy
importante y es la relación entre las tablas a través de llaves foráneas.
Observando el diseño de la base de datos, nos damos cuenta que.
14
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
15
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
Pero vamos a utilizar PHPMyAdmin, para ver el diseño de la base de datos después
de haber sido creada.
16
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Allí nos aparece el diseño de la base de datos, En este gráfico las tablas
aparecen contraídas y desubicadas; pero las podemos reubicar, simplemente
arrastrándolas; también las podemos expandir con las opciones del menú
superior.
• Para terminar esta sesión, vamos a ingresar un par de datos a las tablas
PACIENTES, MEDICOS y CONSULTORIOS.
• Iniciemos con la tabla PACIENTES.
• Dentro de phpmyadmin ubicamos y seleccionamos la tabla PACIENTES.
17
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
18
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
19
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
Sistema Gestión
CITAS
Administración
datos pacientes
Administración
datos tratamientos
Médico
Gestionar citas
Generar reportes
Empleado
20
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
21
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
22
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Vamos a crear las tres carpetas principales, una llamada Modelo, otra
llamada Vista, y la última llamada Controlador.
23
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
3. Maquetación.
La maquetación es la distribución de los elementos en nuestra página.
Vamos a crear la siguiente estructura.
24
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
ENCABEZADO
MENÚ CONTENIDO
• Vamos a crear una plantilla inicial con la estructura definida, la cual servirá de base
para las páginas del sitio. Para ello necesitamos crear un par de archivos.
• El primer archivo que crearemos se llamará plantilla.php, este archivo se creara
dentro de la carpeta Vistaàhtml.
• Damos clic derecho sobre la carpeta html y en el menú contextual seleccionamos la
opción NewàPHP Web Page…
25
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• En el cuadro de dialogo New PHP Web Page en el campo File Name se escribe
plantilla, verificamos que el campo Folder tenga la ruta Vista/html.
• Damos clic en Finish.
• El segundo archivo que crearemos será estilos.css, pero dicho archivo será creado
dentro de la carpeta Vistaàcss.
• Damos clic derecho sobre la carpeta css y en el menú contextual seleccionamos la
opción NewàCascading Style Sheet…
26
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
Vamos a modificar el código del bootstrap, para desde allí poder tener acceso al
contenido de la plantilla. Como se muestra en la imagen.
27
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
Una regla de CSS está formada por una parte llamada “selector” y otra parte llamada
“declaración”.
Los selectores más utilizados cuando se crea un estilo son.
Selector de tipo o etiqueta. Se aplica a todos los elementos de la página cuya
etiqueta HTML coincide con el valor del selector.
Selector de clase. El nombre del selector de clase va antecedido con un punto (.)
y se aplica a todos los elementos de la página cuyo atributo class coincida con el
nombre del selector.
En una misma página HTML pueden existir varios elementos con el mismo atributo
class.
Selectores de ID. El nombre del selector ID va antecedido con un numeral (#) y se
aplica al elemento de la página cuyo id coincida con el nombre del selector.
En una misma página HTML no deben existir dos elementos con el mismo id.
28
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• para que este cambio surta efecto es necesario crear el enlace entre la plantilla
y la hoja de estilos. Esto lo hacemos agregando el código marcado en el archivo
html.
29
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
30
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
3.1. Encabezado.
• El encabezado tendrá una imagen de fondo, como un banner y un texto, el
cual ya está incluido como contenido en la página web.
• Vamos a crear los estilos para el selector tipo id #encabezado.
• Este selector tendrá como estilos un ancho de 900, altura de 150, y una
imagen de fondo.
31
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
32
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
3.2. Contenido
• Continuaremos ahora con el contenido de la plantilla, lo primero que hacemos
es asignarle un borde de un pixel, además se le establecerán márgenes tanto
externos como internos, (padding).
• La estructura de dicho estilo es la siguiente.
33
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• El resultado es el siguiente.
34
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
3.3. Menú
• Ya tenemos listo el contenido, pero de acuerdo a la imagen de la plantilla, el
menú debe estar ubicado a la izquierda y el contenido a la derecha, por lo
tanto realizaremos esas modificaciones.
• Vamos a definir un estilo de tipo id para el menú, el cual flotara a la izquierda
y tendrá un ancho de 120px, este será el contenedor que ubicara el menú a
la izquierda.
• El estilo es el siguiente.
35
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
36
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
37
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Ahora le aplicaremos estilo a cada uno de los elementos de la lista, para que
tenga el aspecto de botón, por lo tanto debemos crear un selector descendente
para la etiqueta li dentro del selector #menu, de esta forma #menu li.
• Lo que haremos en cada elemento del menú será asignarle un borde gris de
un pixel, definir un color de fondo azul, establecer un margen inferior, que
separe los botones, disminuir el tamaño de la letra, centrar el texto, también
se establecerá un interlineado para qué el texto quede a buena distancia de
los bordes superior e inferior del botón.
• Teniendo en cuenta esas características la estructura quedara así.
38
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
39
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
40
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
41
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
42
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Inmediatamente nos aparece una nueva carpeta, pero el nombre que posee
es New Folder, pero este nombre no es descriptivo, por tal motivo vamos a
cambiarlo.
• Para ello damos clic sobre el botón Rename.
43
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
44
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
En la sesión anterior creamos la plantilla que nos servirá de base para la vista o
interface grafica de usuario del sitio web.
El resultado de dicho proceso se muestra a continuación.
En esta sesión construiremos las páginas Inicio y Asignar cita, del sistema de
información.
1. Inicio.
La página de inicio es solamente informativa, y me ofrece una descripción
general de las acciones que se realizarán con el sistema de información.
• Lo primero que debemos hacer es crear una nueva página web a partir de la
plantilla. Los pasos son los siguientes.
• Dar clic derecho sobre la carpeta html, en el menú contextual seleccionar la
opción NewàOther…
45
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
46
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Nos aseguramos que los campos Project, Folder y Created File, tengan la
información correcta.
• Luego damos clic en Finish.
47
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
48
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
2. Asignar Cita.
• Vamos a continuar ahora con la página para asignar una cita.
• Generamos una nueva página a partir de la plantilla, como lo hicimos
anteriormente y como nombre le pondremos asignar.php
• El título de la página lo modificamos y le asignamos el valor Asignar Cita.
• En el menú eliminamos el atributo class=”activa” de la opción inicio y se la
asignamos a la opción Asignar cita.
49
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
50
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
51
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• El resultado es el siguiente.
52
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
En esta sesión construiremos las páginas Consultar cita y Cancelar cita, del sistema
de información.
53
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
1. Consultar cita.
• Vamos a continuar ahora con la página para consultar una cita.
• Generamos una nueva página a partir de la plantilla, como lo hicimos en la
sesión anterior y como nombre le pondremos consultar.php
• El título de la página lo modificamos y le asignamos el valor Consultar Cita.
• En el menú eliminamos el atributo class=”activa” de la opción inicio y se la
asignamos a la opción Consultar cita.
• Para consultar una cita, es necesario ingresar el documento del paciente, por
lo tanto en este momento ese es el único campo que se requiere dentro del
formulario. Ya con base en el resultado obtenido, se mostrara el contenido
dinámico que informará acerca de las citas del usuario.
• El código de la página consultar.php es el siguiente.
54
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
2. Cancelar cita.
• Vamos a continuar ahora con la página para cancelar una cita.
• Generamos una nueva página a partir de la plantilla, como lo hicimos
en la sesión anterior y como nombre le pondremos cancelar.php
• El título de la página lo modificamos y le asignamos el valor Cancelar
Cita.
• En el menú eliminamos el atributo class=”activa” de la opción
inicio y se la asignamos a la opción Cancelar cita.
• Para consultar una cita, es necesario ingresar el documento del
paciente, por lo tanto en este momento ese es el único campo que se
requiere dentro del formulario. Ya con base en el resultado obtenido, se
mostrara el contenido dinámico que informará acerca de las citas del
usuario.
• El código de la página cancelar.php es el siguiente.
55
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
56
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
En la sesión anterior creamos las páginas Consultar cita y Cancelar cita, las cuales
tienen el aspecto mostrado en las imágenes.
En esta sesión construiremos todas las clases que corresponden al modelo, como
se muestra en el diagrama de clases.
57
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
1. Clase Paciente.
• Vamos a crear la clase Paciente de acuerdo al siguiente diagrama de clases.
• Para ello nos ubicamos sobre la carpeta Modelo y damos clic derecho.
• En el menú contextual seleccionamos la opción PHP Class…
58
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
2. Clase Cita.
• Vamos a crear la clase Cita de acuerdo al siguiente diagrama de clases.
59
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
60
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
3. Clase Conexion.
• Vamos a crear la clase Conexion de acuerdo al siguiente diagrama de clases.
61
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
4. Clase GestorCita.
• La clase GestorCita es la que se encarga de gestionar todos los procesos
relacionados con acceso a datos, que realiza el sistema de información, por
tal motivo debe tener referencia a las tres clases creadas anteriormente, para
poderlas manipular.
• El diagrama de la clase GestorCita se muestra a continuación.
62
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
5. Método consultarCitaPorId().
• Este método permite obtener todos los datos de una cita específica, para mostrarlos
luego como reporte.
• Como la idea es mostrar al paciente todos los datos de la cita, incluyendo datos del
consultorio, paciente y médico, la consulta que se realizara en este caso involucra
varias tablas.
• El código de este método se muestra a continuación.
6. Método consultarCitasPorDocumento().
• Este método permite obtener todos los datos de las citas correspondientes a un
paciente específico, de acuerdo a su número de documento.
• El código de este método se muestra a continuación.
63
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
7. Método consultarPaciente().
• Este método permite obtener todos los datos de un paciente específico, de acuerdo
a su número de documento.
• El código de este método se muestra a continuación.
8. Método agregarPaciente().
• Este método permite ingresar los datos de un nuevo paciente a la base de datos.
• El código de este método se muestra a continuación.
64
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
9. Método consultarMedicos().
• Este método permite consultar todos los médicos que están registrados en la base
de datos.
• El código de este método se muestra a continuación.
65
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
En la sesión anterior creamos todas las clases del modelo descritas en el diagrama
de clases.
• Para ello nos ubicamos sobre la carpeta Controlador y damos clic derecho.
• En el menú contextual seleccionamos la opción PHP Class…
66
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Este método me sirve para mostrar las páginas correspondientes a las vistas,
pero como la clase Controlador se instancia a través del bootstrap, es
necesario hacer las modificaciones al archivo index.php.
• Vamos a borrar todo el contenido de index.php y lo modificaremos de la
siguiente forma.
• Primero es necesario hacer referencia a todas las clases creadas tanto en el
Modelo como en el Controlador de la siguiente forma.
67
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
68
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
2. Agregar Cita.
• Ahora vamos a crear el método AgregarCita() dentro de la clase Controlador.
• Este método recibe el documento del paciente, el documento del médico, la fecha y
hora de la cita y el consultorio.
• Con estos datos construye un objeto de la clase cita, pero hay que tener en cuenta
que, el numero de la cita lo genera mysql, por lo tanto allí se envía null, al estado
de la cita enviamos la palabra “Solicitada”, y a observaciones enviamos la palabra
“Ninguna”.
• El código de dicho método es el siguiente.
• Vamos a verificar que los datos de la cita se insertan en la base de datos, por
tal motivo llenamos el formulario.
69
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
70
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Lo primero que debemos hacer crear una nueva página web con la estructura
de la plantilla. Para ello seguimos los pasos para crear dentro de la carpeta
html un nuevo archivo basado en la plantilla.
• A este nuevo archivo lo llamaremos confirmarCita.php
• El código de este nuevo archivo lo encontramos a continuación.
71
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
72
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
73
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
3. Consultar Cita.
• Cuando el usuario hace la consulta de la cita, se debe mostrar la información de
las citas asignadas al paciente formateadas en una tabla, por tal motivo, antes de
proceder a crear el método dentro del controlador, vamos a crear el documento
php que mostrará el resultado.
La razón principal por la que esta página no fue creada como plantilla
obedece a que más adelante este contenido se incluirá dinámicamente dentro de la
misma página consultar.php
74
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Al hacer la prueba tanto con un paciente que posea citas como con uno que
no posea, obtendremos los siguientes resultados.
4. Cancelar Cita.
Igual que en el punto 3, se debe mostrar la información de las citas
asignadas al paciente formateadas en una tabla, por tal motivo, vamos a
crear un nuevo documento php que mostrará el resultado.
75
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
Como podemos ver esta página por ahora tiene prácticamente el mismo
código que consultarCitas.php, solo tiene de mas una columna con la palabra
Cancelar, podríamos pensar en reutilizar el código anterior, eso sería posible, pero
es nececesario diferenciar, posiblemente a través de una variable.
• Ahora vamos a crear el método cancelarCitas() dentro de la clase Controlador.
• Este método recibe el documento del paciente, con el cual llamaremos al método
consultarCitasPorDocumento() perteneciente a la clase GestorCitas, y
mostraremos la página cancelarCitas.php.
• El código de dicho método es el siguiente.
76
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Al hacer la prueba tanto con un paciente que posea citas como con uno que
no posea, obtendremos los siguientes resultados.
77
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
En la sesión anterior trabajamos con los archivos del controlador, tanto el bootstrap
como la clase Controlador. Se ingreso y verifico el acceso a datos a los diferentes
procesos del sistema de información, como asignación, búsqueda y cancelación de
citas.
En esta sesión empezaremos a realizarle algunos ajustes al sistema de información,
apoyándonos en las herramientas Javascript, Ajax y Jquery.
1. Consultar Paciente.
• Cuando una cita se asigna, esta irá asociada a un paciente específico, pero
dicho paciente debe estar registrado en la base de datos del sistema de
información, de lo contrario, si dicho paciente no existe, será necesario
ingresarlo al sistema.
• Lo primero que haremos será consultar si el paciente existe en la base de
datos, en caso de no existir, se dará la opción al usuario de ingresar los datos
de dicho paciente.
• La estructura que hasta el momento tenemos es la siguiente.
78
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
79
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Este manejador de eventos nos indica que cada que se dé clic sobre el
botón Consultar, inmediatamente el flujo del programa ira hasta la función
consultarPaciente() en JavaScript.
• Vamos a codificar dicha función.
• Lo primero que debemos hacer es crear el archivo que contendrá el código
JavaScript, por lo tanto nos ubicamos sobre la capeta js y damos clic derecho.
• En el menú contextual seleccionamos la opción NewàJavaScript File…
• En caso de que esta opción no esté disponible en el menú contextual,
seleccionamos la opción Other, para buscar la plantilla.
80
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
81
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Al hacer la prueba tanto con un paciente que exista, como con uno que no
exista, obtendremos los siguientes resultados.
82
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
2. Ingresar Paciente.
• Como podemos observar, cuando el paciente no existe, se muestra el mensaje
y adicional a ello un nuevo botón cuyo texto es “Ingresar Paciente”.
• Cuando el usuario de clic sobre dicho botón, se debe mostrar un cuadro de
dialogo con el formulario de ingreso de los datos del paciente.
Para la creación de este formulario, utilizaremos una herramienta de jquery
llamada dialog.
• Vamos a descargar el archivo desde la siguiente dirección.
http://jqueryui.com/demos/dialog/#modal-form
• En este enlace podrán ver una simulación del comportamiento deseado,
además encuentran la documentación de esta herramienta.
83
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
84
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
85
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Pero para hacer funcionar este contenido dentro de un elemento del tipo
dialog, es necesario agregar unas líneas de código JavaScript. Vamos a
agregarlas dentro del archivo script.js como se muestra a continuación.
86
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Si todo ha salido bien, al momento de dar clic sobre el botón Ingresar Paciente,
se mostrara un nuevo cuadro de dialogo con el formulario y el documento del
paciente que aún no está registrado.
87
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
88
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
3. Datepicker.
• Vamos a incluir ahora a nuestro proyecto una nueva herramienta de jquery llamada
Datepiker.
• Esta herramienta permitirá mostrar un calendario y con este seleccionar tanto la
fecha de nacimiento al momento de ingresar los datos del paciente, como la fecha
de la cita al momento de asignar una cita.
• Podemos ver el funcionamiento y la documentación de esta herramienta en la
página. http://jqueryui.com/demos/datepicker/
• Si damos clic sobre Download, accedemos a la página de descarga, (igual que en
el punto anterior).
• Allí seleccionamos las opciones Core y Datepicker.
• En Theme seleccionan No theme, y descargan igualmente
89
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
90
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
91
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
92
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Pero para que todo esto funciones como se desea, es necesario hacer unas
modificaciones tanto al index.php, como al controlador.
93
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
94
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
95
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
3. Método consultarHorasDisponibles().
• En la sesión 5 trabajamos con las clases del modelo, y entre ellas codificamos
la clase GestorCita. Dentro de esta clase quedaron pendientes algunos
métodos, los cuales no se codificaron en dicha sesión y se irán codificando
a continuación.
• El método consultarHorasDisponibles() permite consultar el listado de
horas disponibles para atender una cita un médico en una fecha específica.
• Antes de proceder a codificar este código, es necesario crear una nueva tabla
en la base de datos la cual almacenará las horas en las cuales se atenderán
citas en el consultorio odontológico.
• Abrimos el programa
•
En la sesión 1 se explico detalladamente cómo crear tablas y campos, por
lo tanto si hay dudas con respecto a este proceso, es necesario remitirse a esta
sesión.
• Luego de abrir MySQL Query Browser, dan clic derecho sobre la base de
datos citas y seleccionan la opción Create New Table.
96
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Vamos ahora a ingresarle datos a esta tabla, bien sea a través de MySQL
Query Browser o PHPMyAdmin.
• Los datos que deben ingresar son los siguientes.
97
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
98
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
99
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Pero para que todo esto funciones como se desea, es necesario modificar el
método cargarAsignar() del controlador.
• Este tendrá las modificaciones señaladas en la imagen.
5. Consultar Citas.
• Ya hemos terminado prácticamente todos los procesos correspondientes a la
asignación de una cita, ahora trabajaremos sobre la opción Consultar cita.
• En la sesión 6, se trabajo este punto, el cual muestra un formulario para
ingresar el documento del paciente y en otra página mostraba las citas que
tenia asignadas.
• Esto lo modificaremos de tal forma que al usuario dar clic sobre el botón
consultar, el resultado se cargue dinámicamente en la misma página.
• El primer cambio lo realizaremos en el archivo consultar.php, allí tenemos
un botón el cual posee el siguiente código.
100
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
101
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
6. Cancelar Citas.
• En este proceso se deben realizar unos cambios muy similares a los realizados
en el punto 5 de esta sesión.
• El primer cambio lo realizaremos en el archivo cancelar.php, allí tenemos un
botón el cual posee el siguiente código.
102
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
103
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
104
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
105
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
106
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Nos falta por ultimo codificar el archivo reporteCita.php, el cual generara el reporte.
• Para generar los reportes utilizaremos una librería llamada html2pdf, de la cual
podemos consultar la información y descargar desde el siguiente enlace. http://
html2pdf.fr/es/default
• Para descargar la librería, damos clic sobre la imagen mostrada en dicha página
web.
107
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
• Dentro de la carpeta Vistaàhtml crearemos una nueva Php Web Page, la cual
tendrá el nombre reporteCita.php, el código de este archivo se muestra en la
imagen.
108
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
109
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Control de documento
Construcción Objeto de Aprendizaje
Desarrollo de Aplicaciónes Web en PHP
Desarrollador de contenido Leydy Carolina Muñoz
Experto temático
Asesor pedagógico Rafael Neftalí Lizcano Reyes
Claudia Milena Hernández
Producción Multimedia Luis Fernando Botero Mendoza
Victor Hugo Tabares
Programadores Daniel Eduardo Martínez
Líder expertos temáticos Ana Yaqueline Chavarro Parra
Líder línea de producción Santiago Lozada Garcés
110
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje