conexión a bases de datos en php - · pdf filecon php se puede acceder a diferentes...

56
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 servidor MySQL 1.1. Conexión servidor MySQL desde xampp 1.2. Configuración password usuario root 2. Configurar la Base de Datos 2.1. Crear la Base de datos 2.2. Crear tablas en la Base de Datos 3. 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 4. Paso de Variables 4.1. Método Get 4.2. Método Post 5. Construcción de formularios CRUD (Create – Read – Update - Delete) 5.1. Crear 5.2. Leer 5.3. Actualizar 5.4. Borrar 6. 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

Upload: phamnga

Post on 04-Feb-2018

236 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

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 servidor MySQL 1.1. Conexión servidor MySQL desde xampp 1.2. Configuración password usuario root2. Configurar la Base de Datos 2.1. Crear la Base de datos 2.2. Crear tablas en la Base de Datos3. 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 utilizadas4. Paso de Variables 4.1. Método Get 4.2. Método Post5. Construcción de formularios CRUD (Create – Read – Update - Delete) 5.1. Crear 5.2. Leer 5.3. Actualizar 5.4. Borrar6. 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

Page 2: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

2

Generar Reportes

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

MAPA CONCEPTUAL

Conexión a Bases de Datos en PHP

Page 3: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

3

SENA

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.

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Conexión a Bases de Datos en PHP

Page 4: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

4

SENA

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.

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Como observan en la imagen anterior tanto el servidor Apache y el servidor MySQL se encuentran ejecutándose.

Verificación del servidor MySQLPodemos 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:

Conexión a Bases de Datos en PHP

Page 5: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

5

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:

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Conexión a Bases de Datos en PHP

Page 6: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

6

SENA

Después aparece la siguiente información:

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Para continuar damos clic en el enlace indicado, que se encuentra dentro del ovalo de color rojo.

Conexión a Bases de Datos en PHP

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.

Page 7: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

7

SENA

Acceso al Administrador de las bases de Datos phpMydAdmin

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Conexión a Bases de Datos en PHP

Dar clic en phpmyadmin donde podemos acceder a una herramienta web que nos permite administrar las bases de datos.

Page 8: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

8

SENA

Si el usuario root ya tiene password debe aparecer el siguiente formulario:

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 todavía no tiene password debe aparecer la siguiente página

Page 9: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

9

SENA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Conexión a Bases de Datos en PHP

Page 10: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

10

SENA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

2. Configurar la Base de Datos

2.1 Crear una Base de Datos desde PhpMyAdmin

Conexión a Bases de Datos en PHP

Para crear nuestra base de datos buscamos en el menú la opción de bases de datos y damos clic:

Page 11: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

11

SENA

Al dar clic en Bases de Datos nos debe aparece una opción para que ingresemos el nombre de la base de datos:

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Conexión a Bases de Datos en PHP

Como ejercicio vamos a crear una Base de Datos llamada CENTROMEDICO

Page 12: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

12

Casos de Uso

SENA

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.

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Conexión a Bases de Datos en PHP

2.2 Crear Tablas en una Base de Datos.

Como ejercicio vamos agregar la tabla llamada Pacientes con las siguientes características:

Page 13: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

13

SENA

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:

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Conexión a Bases de Datos en PHP

Agregamos los datos Pacientes en Nombre y en número de columnas 6.

6Pacientes

Page 14: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

14

SENA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

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

Conexión a Bases de Datos en PHP

Page 15: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

15

SENA

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Pasos para la Conexión:

1. Conexión con el Servidor MySQL2. Selección de la Base de datos3. Uso de la Base de datos donde podemos:a. Envío de operación SQL a la base de datos.b. Recepción y tratamiento de los resultados.c. Liberar memoria de resultados4. 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

Conexión a Bases de Datos en PHP

Page 16: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

16

SENA FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Resultado de la ejecución del código

Conexión a Bases de Datos en PHP

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

Page 17: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

SENA

17

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.

Page 18: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

SENA

18

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.

Page 19: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

SENA

19

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 (?)

Page 20: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

SENA

20

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 variableCará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.

Page 21: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

21

SENA FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Código Archivo pagina.php

Conexión a Bases de Datos en 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).

Page 22: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

22

SENA FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Conexión a Bases de Datos en PHP

Page 23: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

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 FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Conexión a Bases de Datos en PHP

Page 24: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Código del Formulario

Conexión a Bases de Datos en PHP

24

SENA FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Page 25: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

SENA

Código del Archivo que hace la inserción del Paciente

Nombre del Archivo: validarInsertarPaciente.php

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Debemos modificar el código del formulario en el encabezado agregándole el nombre del archivo en el action:

25

Page 26: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

¿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?

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

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

Page 27: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Al dar clic en el Botón Enviar aparece el siguiente resultado

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Ahora vamos a verificar por phpmyadmin si ya aparece el paciente registrado.

27

Page 28: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

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:

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

28

Page 29: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

• Otra forma de consultar e imprimir en pantalla los resultados, utilizando el método fetch_object() del resultado se presenta a continuación:

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

29

Page 30: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Resultado de la ejecución del archivo consultar Pacientes:

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

30

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:

Page 31: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Resultado de la ejecución del archivo consultar Pacientes:

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

31

Page 32: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Código que permite listar los pacientes en una tabla

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

32

Page 33: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Otra forma de Listar en una tabla es utilizando el método fetch_object() como se muestra a continuación:

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

33

Page 34: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

34

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

Page 35: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

35

Resultado de la Ejecución Actualización

Actualización mediante parámetros

Page 36: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

36

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.

Page 37: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

37

Page 38: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

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

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

38

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.

<?phpsessión_start();

Page 39: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

¿Cómo validar que no ingresen a una página sin tener una sesión abierta?

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

39

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?

Page 40: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Al cerrar la sesión lo lleva al index donde muestra el mensaje.

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

40

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

Page 41: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

41

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

Page 42: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

42

Formulario Ingresar al Sistema o Aplicación

Código Formulario Ingresar al Sistema o Aplicación

Page 43: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

43

Código del archivo que valida el ingreso al Sistema o Aplicación

Page 44: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

44

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.

Page 45: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

45

Código Formulario Asignar Cita

Page 46: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

46

Código archivo que valida la Asignación de la Cita

Page 47: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

47

Listar Citas

Código Archivo Listar Citas

Page 48: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

48

6.4 Atender una Cita

Primero se listan solo las citas cuyo estado sea Asignado.

Page 49: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Código archivo listar Citas por Atender

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

49

Conexión a Bases de Datos en PHP

Page 50: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

50

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.

Page 51: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Código Formula Editar Cita

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

51

Código Formula Editar Cita

Page 52: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

Formulario con observaciones

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

52

Al dar clic en el Botón de Enviar, actualiza el estado y actualiza el campo observaciones.

Código archivo Actualiza la Cita

Page 53: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

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.

Conexión a Bases de Datos en PHP

FAVA FAVA FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

53

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.

Page 54: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

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 Webdiná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

Conexión a Bases de Datos en PHP

Page 55: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

GLOSARIO

md5() = Función que calcula el hash MD5 de una cadena. Forma de encrip-tar 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 admi-nistrar 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

Conexión a Bases de Datos en PHP

Page 56: Conexión a Bases de Datos en PHP - · PDF fileCon PHP se puede acceder a diferentes motores de Bases de datos tales como SqlServer, Oracle, PostgreSql, sqlLite, interbase, MySQL entre

SENA

LINEA

25,46

56

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 ben-eficio comercial y las obras derivadas tienen que estar bajo los mismos términos de licencia que el trabajo original.

OBJETO DEAPRENDIZAJE

Desarrollador de contenidoExperto temático

Asesor Pedagógico

Productor Multimedia

Programadores

Líder expertos temáticos

Líder línea de producción Santiago Lozada Garcés

Ana Yaqueline Chavarro Parra

Daniel Eduardo Martínez Díaz

Carlos Julián Ramírez Benítez Victor Hugo Tabares Carreño

Claudia Milena HernándezRafael Neftalí Lizcano Reyes

César Marino Cuéllar Chacón

Conexión a Datos desde PHP

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Conexión a Bases de Datos en PHP