Download Conexión a Bases de Datos en PHP

Document related concepts
Transcript
Conexión a Bases de Datos en PHP
1.
2.
3.
4.
5.
6.
Configuración y acceso servidor MySQL
1.1.
Conexión servidor MySQL desde xampp
1.2.
Configuración password usuario root
Configurar la Base de Datos
2.1.
Crear la Base de datos
2.2.
Crear tablas en la Base de Datos
Conexión a bases de datos desde php
3.1.
La Extensión MySQLi
3.2.
Conexión servidor y selección de la base de datos
3.3.
Métodos, Funciones y Propiedades más utilizadas
Paso de Variables
4.1.
Método Get
4.2.
Método Post
Construcción de formularios CRUD (Create – Read – Update - Delete)
5.1.
Crear
5.2.
Leer
5.3.
Actualizar
5.4.
Borrar
Otros Procesos
6.1.
Manejo de Sesiones
6.2.
Ejemplo Ingreso a un Sistema o Aplicación web
6.3.
Asignar una Cita
6.4.
Atender la Cita
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
MAPA CONCEPTUAL
Generar Reportes
2
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
INTRODUCCIÓN
Lo interesante de un Sistema o Aplicación WEB es la de poder conectarse
a una base de datos, y poder trabajar desde el lado del servidor con datos
del negocio.
Con PHP se puede acceder a diferentes motores de Bases de datos tales
como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre
otros. El más utilizado es MySQL. Para cada uno de ellos PHP implementa
una serie de funciones que le permitan poder realizar las tareas propias de
acceso a datos.
Este Objeto de Contenido le apoyará en su proceso formativo en el
desarrollo de una aplicación web con conexión a bases de datos MySQL y
lenguaje de desarrollo PHP.
3
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
1.
Configuración y acceso al Servidor MySQL
1.1
Conexión servidor MySQL desde XAMPP
En el momento de instalar XAMPP, este instala el servidor web Apache y el
servidor de Bases de Datos MySQL.
Por lo anterior debemos verificar
que en XAMPP se encuentren
ejecutándose los dos servidores: Servidor Apache y servidor MySQL.
Como observan en la imagen anterior tanto el servidor Apache y el
servidor MySQL se encuentran ejecutándose.
Verificación del servidor MySQL
Podemos verificar si el servidor MySQL está ejecutándose de la siguiente
forma:
Ingresar al navegador y escribir la siguiente dirección:
http://localhost/xampp/
Debe mostrar el siguiente pantallazo de acuerdo a la imagen:
4
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
1.2 Configurar Password usuario root
Para configurar el password damos clic en la opción del menú llamada
Chequeo de Seguridad que se encuentra en el bloque Bienvenidos, ver
imagen:
5
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Después aparece la siguiente información:
Para continuar damos clic en el enlace indicado, que se encuentra dentro
del ovalo de color rojo.
http://localhost/security/xamppsecurity.php
Al ingresar al enlace indicado aparece el formulario para que ingresemos
el password del usuario root, ya sea nuevo o para actualizarlo.
6
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Acceso al Administrador de las bases de Datos phpMydAdmin
Dar clic en phpmyadmin donde podemos acceder a una
herramienta web que nos permite administrar las bases de datos.
7
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Si el usuario root ya tiene password debe aparecer el siguiente formulario:
Si el usuario root todavía no tiene password debe aparecer la siguiente página
8
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
9
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
2.
Configurar la Base de Datos
2.1 Crear una Base de Datos desde PhpMyAdmin
Para crear nuestra base de datos buscamos en el menú la opción de bases
de datos y damos clic:
10
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Al dar clic en Bases de Datos nos debe aparece una opción para que
ingresemos el nombre de la base de datos:
Como ejercicio vamos a crear una Base de Datos llamada CENTROMEDICO
11
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Casos de Uso
De acuerdo a la imagen anterior el Cotejamiento quedó Utf8_spanish_ci,
que hace referencia a caracteres del español. Al dar clic en crear se crea
la base de datos.
Podemos verificar en el listado de las bases de datos actuales que
aparezca la base de datos que se acaba de crear.
2.2 Crear Tablas en una Base de Datos.
Como ejercicio vamos agregar la tabla llamada Pacientes con las
siguientes características:
12
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Para iniciar con la creación de la tabla damos clic en la base de datos
centromedico del listado de bases de datos.
Al dar clic aparece:
Pacientes
6
Agregamos los datos Pacientes en Nombre y en número de columnas 6.
13
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Después de dar clic en continuar, nos lleva a una ventana para que
configuremos los campos.
En la siguiente imagen se muestra la
configuración de acuerdo a las características presentadas de la tabla
Pacientes.
3. Conexión a una Base de Datos MySQL desde PHP
3.1 La extensión MySQLi
A partir de PHP 5 se recomienda utilizar la extensión MySQLi (MySQL Improved)
en vez de la tradicional MySQL.
•
•
•
•
•
•
•
Permite utilizar las mejoras de las últimas versiones del servidor MySQL.
Interfaz orientada a objetos
Soporte para Declaraciones Preparadas
Soporte para Múltiples Declaraciones
Soporte para Transacciones
Mejoradas las opciones de depuración
Soporte para servidor empotrado
14
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Pasos para la Conexión:
1.
2.
3.
a.
b.
c.
4.
Conexión con el Servidor MySQL
Selección de la Base de datos
Uso de la Base de datos donde podemos:
Envío de operación SQL a la base de datos.
Recepción y tratamiento de los resultados.
Liberar memoria de resultados
Cerrar la Conexión
3.2 Conexión al Servidor MySQL y selección de Bases de Datos
Código PHP para conectarnos a la Base de Datos CentroMedico
SENA
15
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Resultado de la ejecución del código
También se puede crear un archivo aparte con las variables que contienen
los valores de los parámetros para conectarnos al servidor y a la base de
datos.
Código archivo con las variables que contienen los valores de conexión al
servidor y a la base de datos:
Nombre del archivo: conexionBasesDatos.php
16
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Código archivo que se conecta a la base de datos:
3.3 Métodos, Funciones y Propiedades más utilizadas
•
$objeto->Query($sql): Método que recibe la sentencia SQL y retorna un
objeto con el que podemos trabajar con los datos. Devuelve FALSE si ocurre un
error.
•
$objConexion->Close(): Cierra la conexión actual a la base de datos.
En la variable $resultado se guarda lo que devuelve la ejecución de la consulta.
La variable $resultado se convierte en un objeto del cual podemos obtener la
siguiente información con los siguientes métodos o propiedades.
17
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
•
$resultado->num_rows: Obtiene el número de registros de una
consulta.
•
$resultado->fetch_array() o fetch_all():Devuelve todas las filas en
un array asociativo, numérico, o en ambos.
•
$resultado->fetch_object(): Devuelve un objeto, donde cada
columna o campo de la consulta se convierte en una propiedad.
18
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
•
$resultado->insert_id: Devuelve el id del último registro insertado en
la base de datos.
•
$resultado->free(): Libera la memoria asociada al resultado
•
$objConexion->prepare($sql): El método prepare del objeto conexión
recibe como parámetro una sentencia sql y la mantiene lista para
ejecutarla. Retorna un objeto para poder seguir trabajando con la
sentencia sql.
•
$resultado=$objConexion->prepare($sql);
•
$resultado->bind_param(“tiposdatos”, $parametros): El método
bind_param del objeto que recoge lo que retorna el método prepare,
recibie como parámetros, los tipos de datos de los parámetros como un
string y después los parámetros que se requieran.
•
$res=$resultado->execute(): El método execute ejecuta la sentencia
sql que se haya creado con el método prepare.
Ejemplo:
En el siguiente ejemplo, la sentencia Sql tiene unos parámetros que se ven
reflejados con el carácter interrogación (?)
19
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
4.
Pasar Variables
4.1
Método GET
Cuando se pasan variables método GET nos indica que estamos pasando
variables por la URL.
Se utilizan unos caracteres para separar las variables así:
Carácter ?: cuando referenciamos una o la primera variable
Carácter &: este carácter se utiliza para pasar la segunda o las siguientes
variables si se requieren.
Ejemplo:
En el siguiente ejemplo estamos llamando a la página llamada pagina.php
y le estamos pasando una variable llamada empresa con el valor de SENA y
una variable nit con el valor de 8999990341.
20
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Código Archivo pagina.php
4.2
Método POST
El método post, normalmente son las que enviamos por los formularios.
•
En el siguiente ejemplo el encabezado del formulario tiene una
propiedad llamada method y tiene como valor post.
•
El encabezado del formulario también tiene una propiedad action
donde está relacionada un archivo llamado validarInsertarPaciente2.php.
•
En el archivo validarInsertarPaciente2.php llegan todas las variables
del formulario que vienen siendo todos los campos del mismo (Subrayados
en rojo).
21
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
22
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
5.
Construcción de formularios CRUD (Create – Read – Update Delete)
5.1 Insertar
En el siguiente ejemplo se construirá el formulario para insertar pacientes,
Primero se implementan los controles al formulario, de acuerdo con la
imagen a continuación y con la información que se suministró en los objetos
anteriores:
23
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Código del Formulario
24
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Código del Archivo que hace la inserción del Paciente
Nombre del Archivo: validarInsertarPaciente.php
Debemos modificar el código del formulario en el encabezado
agregándole el nombre del archivo en el action:
25
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
¿Qué ocurre cuando damos clic en el Botón del Formulario?
Ejecuta el archivo que se encuentra en la propiedad action del formulario y
los campos del formulario se pasan por método POST.
¿Cuáles son los campos del Formulario?
Los nombres de los campos del formulario los debemos tener en cuenta, ya
que así como los llamamos los debemos utilizar en el otro archivo.
Resultado de la Ejecución del formulario
26
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Al dar clic en el Botón Enviar aparece el siguiente resultado
Ahora vamos a verificar por phpmyadmin si ya aparece el paciente
registrado.
27
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
5.2 Consultar Pacientes
• Continuando con el ejemplo del centro médico, a continuación se presenta el
código para realizar la consulta de datos:
28
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
• Otra forma de consultar e imprimir en pantalla los resultados, utilizando el
método fetch_object() del resultado se presenta a continuación:
29
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Resultado de la ejecución del archivo consultar Pacientes:
Las consultas se presentan con frecuencia en una tabla, por lo cual se
proporciona como ejemplo el código para listar pacientes usando una tabla, tal
como se ve en la imagen siguiente:
30
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Resultado de la ejecución del archivo consultar Pacientes:
31
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Código que permite listar los pacientes en una tabla
32
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Otra forma de Listar en una tabla es utilizando el método fetch_object() como
se muestra a continuación:
33
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
5.3
Actualizar Pacientes
El siguiente ejemplo presenta el código para modificar datos en la tabla
paciente.
De acuerdo a los pacientes existentes en la base de datos, vamos actualizar la
fecha de nacimiento de Amparo Grisales a 1951-06-25.
Código archivo que hace la actualización
34
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Resultado de la Ejecución Actualización
Actualización mediante parámetros
35
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Una vez se han realizado las modificaciones sobre los datos, se debe
listar la información, tal como quedo modificada.
5.4
Borrar Pacientes
Para eliminar registros de la base de datos, se debe proporcionar la
funcionalidad que permita ejecutar la sentencia SQL Delete sobre las filas de
la base de datos que se desean eliminar, sin embargo recuerde que la
implementación de esta funcionalidad debe obedecer a las reglas de negocio
definidas sobre la aplicación.
En el ejemplo proporcionado se permite la eliminación de un paciente
recibiendo como parámetro el número de identificación del mismo.
36
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
37
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Posterior a la eliminación se deben visualizar los datos para confirmar que
los registros ya no se encuentran en la base de datos.
Listar Pacientes después de eliminar
6.
Otros Procesos
6.1
Manejo de Sesiones
Es muy importante que las aplicaciones web manejen sesiones para que las
personas que ingresan sean usuarios registrados en el sistema.
¿Cómo se registra una variable de sesión?
$_SESSION[‘variable’] = valor;
Se recomienda que todos los archivos del sitio inicien con la sentencia
sesión_start() para
que se reconozcan las variables de sesión.
<?php
sessión_start();
38
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
¿Cómo validar que no ingresen a una página sin tener una sesión
abierta?
En el código anterior si no se encuentra registrada la variable de sesión
llamada variable, lo regresa al index del sitio con un mensaje que debe iniciar
sesión.
¿Cómo cerrar una Sesión?
39
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Al cerrar la sesión lo lleva al index donde muestra el mensaje.
6.2
Ejemplo Ingreso a un Sistema o Aplicación WEB
•
Crear una tabla de usuarios que permite validar los datos de ingreso.
Este usuario puede ser un médico, un asistente, el administrador o un
paciente
•
Crear un formulario de ingreso al sistema.
Tabla Usuarios en el Sistema
40
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Datos Tabla Usuarios
El campo usuPassword se encuentra encriptado utilizando la
función md5 de php.
La forma de encriptar es la siguiente:
valorEncriptado = md5(valorAEncriptar);
Formulario Ingresar al Sistema o Aplicación
41
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Formulario Ingresar al Sistema o Aplicación
Código Formulario Ingresar al Sistema o Aplicación
42
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Código del archivo que valida el ingreso al Sistema o Aplicación
43
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Archivo ConexionBaseDatos
6.3
Asignar Cita
En el anterior formulario el campo para la fecha es un campo de tipo date
y el campo para la hora es time.
44
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Código Formulario Asignar Cita
45
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Código archivo que valida la Asignación de la Cita
46
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Listar Citas
Código Archivo Listar Citas
47
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
6.4
Atender una Cita
Primero se listan solo las citas cuyo estado sea Asignado.
48
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Código archivo listar Citas por Atender
49
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Formulario Editar la Cita
Aquí el Médico puede ingresar las observaciones detectadas en la
cita. En éste formulario llega el idCita, el cual nos permite hacer una
consulta para conocer el paciente de la cita como lo muestra el formulario.
50
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Código Formula Editar Cita
Código Formula Editar Cita
51
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
Formulario con observaciones
Al dar clic en el Botón de Enviar, actualiza el estado y actualiza el campo
observaciones.
Código archivo Actualiza la Cita
52
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
En el código anterior cambia el estado de la Cita de Asignado a Atendido, y
actualiza el campo observaciones de acuerdo a lo ingresado por el médico.
Listado de Citas por Atender después de la Actualización
En la siguiente tabla podemos darnos cuenta como se actualizó los datos
de la Cita del Paciente Faustino Asprilla.
53
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
BIBLIOGRAFIA
S. Suehring, T. Converse, J. Park. PHP6 and MySQL Bible. Wiley Pub. 2009.
O. Heurtel. PHP y MySQL. Domine el desarrollo de un sitio Web
dinámico e interactivo. Ediciones ENI 2009.
M. Delisle. Dominar phpMyAdmin para una administración efectiva de MySQL.
Packt Publishing (2007)
PHP.net. Extensión MySQLi, consultado en octubre de 2013 y disponible en:
http://es.php.net/manual/es/book.MySQLi.php
PHP.net. API MySQL Original, consultado en octubre de 2013 y disponible en:
http://es.php.net/manual/es/book.MySQL.php
54
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
GLOSARIO
md5() = Función que calcula el hash MD5 de una cadena. Forma de encriptar una cadena.
Método GET: La forma de pasar variables mediante la URL
Método POST: Forma de pasar variables de forma codificada. Normalmente
se envían cuando se utilizan formularios.
MySQLi: Extensión de php. Clase definida para conectar a una base de datos
MySQL desde php.
phpMyadmin= Herramienta web en php diseñada especialmente para administrar bases de datos MySQL.
REQUEST: Es un array asociativo que contiene todos los valores de variables
tipo $_POST, $_GET y $_COOKIE
Sessión_start(): Inicia una nueva sesión o reanuda la presente.
55
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje
Conexión a Bases de Datos en PHP
OBJETO DE
APRENDIZAJE
Conexión a Datos desde PHP
Desarrollador de contenido
Experto temático
César Marino Cuéllar Chacón
Asesor Pedagógico
Claudia Milena Hernández
Rafael Neftalí Lizcano Reyes
Productor Multimedia
Carlos Julián Ramírez Benítez
Victor Hugo Tabares Carreño
Programadores
Daniel Eduardo Martínez Díaz
Líder expertos temáticos
25,46 Parra
Ana Yaqueline Chavarro
Líder línea de producción
Santiago Lozada Garcés
LINEA
Atribución, no comercial, compartir igual
Este material puede ser distribuido, copiado
y exhibido por terceros si se muestra en los
créditos. No se puede obtener ningún beneficio comercial y las obras derivadas tienen
que estar bajo los mismos términos de
licencia que el trabajo original.
56
SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje