Page 1

Actividad 2.3. Programación de MySQL desde PHP NOMBRE DE LA PRÁCTICA:

Programación de MySQL desde PHP

UNIDAD TEMÁTICA:

II. Programación de una aplicación Web

TEMA:

2.4 Métodos de conexión a datos usando directamente los drivers del proveedor.

OBJETIVO DE LA PRÁCTICA:

Al finalizar esta práctica el estudiante será capaz de: a) Utilizar MySQL para crear una base de datos. b) Utilizar la clase BDMySql para conectarse a un servidor MySQL y ejecutar algunas consultas vía el lenguaje de programación PHP.

ELABORÓ:

Javier Nolasco Hernández

PERIODO DE ELABORACIÓN:

Mayo – Agosto 2012

TIEMPO DE LA PRÁCTICA:

2 hrs.

FECHA:

DESCRIPCIÓN: En esta práctica se emplea el manejador de base de datos relacional MySQL para crear una base de datos (escuela) y una tabla (alumnos). Después se tiene acceso a la tabla alumnos mediante el lenguaje PHP para insertar registros y mostrar el contenido de la tabla. PHP permite el acceso a los datos almacenados en una base de datos creada en MySQL, mediante la invocación de funciones predefinidas. Algunas de estas funciones de PHP relacionadas con el acceso a datos en MySQL son las siguientes: Función

Descripción

mysql_affected_rows

Devuelve el número de registros afectados

mysql_close

Cierra una conexión MySQL

mysql_connect

Abre una conexión

mysql_query

Ejecuta una consulta

mysql_num_fields

Devuelve el número de campos en un resultado

mysql_num_rows

Devuelve el número de renglones en un resultado

mysql_field_name

Devuelve el nombre de un campo

mysql_fetch_array

Obtiene un registro como un arreglo

1


Acudir al laboratorio de cómputo a desarrollar las actividades especificadas en la sección procedimiento del presente documento. MATERIALES, EQUIPOS E INSUMOS: 1. Laboratorio con computadoras de escritorio en servicio y con acceso a internet. 2. Cada equipo de cómputo debe tener instalado el siguiente software: • Sistema Operativo Windows XP o Windows 7. • Internet Explorer y/o Mozilla Firefox • Editor de texto (Araneae y/o Notepad++) • XAMPP PROCEDIMIENTO: 1. Abrir el navegador web y ejecutar http://localhost:8080/xampp/  Enter. 2. En la página que aparece en el navegador seleccionar y ejecutar la opción phpMyAdmin del menú Herramientas.

3. Aparece la siguiente pantalla:

4. Seleccionar la pestaña SQL  Crear una base de datos llamada escuela  Indicar que se desea usar la base de datos escuela  Crear una tabla llamada alumnos  Continuar (ver la siguiente figura): 2


5. DespuĂŠs de oprimir continuar aparece la figura de abajo, en la que se indica que se han ejecutado las consultas anteriores con ĂŠxito.

6. Crear la carpeta C:\xampp\htdocs\bdmysql y en dicha carpeta crear los archivos bd.php y appbd.php.

7. Editar el archivo bd.php de acuerdo a la siguiente figura:

3


4


8. Editar el archivo appbd.php de acuerdo a la siguiente figura:

5


9. Ejecutar la página http://localhost:8080/bdmysql/appbd.php, proporcionar el registro, nombre y teléfono de algún alumno y oprimir el botón Insertar. Después oprimir el botón Ver Tabla.

6


10. Agregar los datos de otros dos alumnos y oprimir el bot贸n Ver Tabla.

7


RESULTADOS Y ANÁLISIS: En el archivo bd.php se crea la clase BDMySql en la que se definen 5 atributos y 5 métodos. Los comentarios que siguen a los atributos explican el propósito de los mismos, por lo que a continuación se explica, a groso modo, el comportamiento de los métodos. Método o función BDMySql($nbd, $ns, $nu, $c){ … }

Descripción Método constructor de la clase. Establece los atributos con los valores de las variables que el método usa como parámetros.

conectar(){ … }

Devuelve 1 si la conexión al servidor y la selección de la base de datos fueron exitosas, de lo contrario regresa 0. La función mysql_connect permite hacer una conexión al servidor de base de datos MySQL, y devuelve un valor diferente de nulo si la conexión fue exitosa y un valor nulo en caso de que dicha conexión fracase. Durante el llamado a la función mysql_connect, es necesario pasar tres argumentos. El primero indica el nombre del servidor, el segundo se refiere al nombre de usuario y el tercero a la contraseña del usuario.

8


La función mysql_select_db se usa para seleccionar una base de datos del servidor al que ya nos hemos conectado, y devuelve un valor diferente de nulo si la selección de la base de datos fue exitosa y un valor nulo en caso contrario. Durante el llamado a la función mysql_select_db, es necesario pasar dos argumentos: El nombre de la base de datos a seleccionar y una variable que contenga una referencia de conexión al servidor. desconectar(){ … }

Verifica si la variable que tiene una referencia a la conexión con el servidor MySQL es diferente de nula y si es así cierra la conexión. La función mysql_close cierra una conexión abierta, establecida previamente mediante mysql_connect, por lo que cuando se hace un llamado a mysql_close es necesario proporcionar como argumento una referencia a una conexión abierta.

cargarTabla($consulta){ … }

Si la conexión al servidor y la selección de la base de datos son exitosos, se ejecuta la consulta de selección SQL pasada como argumento en la variable $consulta y la tabla resultante se muestra en pantalla. La función mysql_query ejecuta la consulta pasada como primer argumento sobre la conexión indicada en el segundo argumento, y devuelve el resultado como una tabla, en caso de que la consulta sea de selección, o bien como un valor entero si la consulta es de acción. En el ejemplo se asume que la consulta pasada como primer argumento es de selección. La función mysql_num_fields devuelve el número de campos o columnas de una tabla. La función mysql_field_name devuelve el nombre del campo del índice especificado como segundo argumento, de la tabla especificada como primer argumento.

ejecutarConsultaAccion($consulta){ … }

La función mysql_fetch_array recibe como argumento una tabla y se encarga de recuperar el renglón actual como un arreglo de elementos que se pueden indexar desde 0. Si la conexión al servidor y la selección de la base de datos son exitosos, se ejecuta la consulta de acción SQL pasada como argumento en la variable $consulta. En el ejemplo se asume que la consulta pasada como primer argumento es de acción (insert, delete y 9


update), por lo que en este caso mysql_query regresa un valor entero que indica el número de registros afectados por la consulta de acción.

Por otro lado, en el archivo appbd.php (que actúa como aplicación o página principal): Código require(“bd.php”) $bd = new BDMySql(“escuela”, “localhost”, “root”, “”);

if($_POST[‘btnVerTabla’]){ $bd->cargarTabla( “select * from alumnos”); }

Descripción Permite la inclusión del código del archivo bd.php Crea un objeto $bd de tipo BDMySql. Hace un llamado al método constructor de la clase BDMySql, pasándole como argumentos: el nombre de la base de datos, el nombre del servidor, el nombre del usuario y la contraseña del usuario. Se comprueba si el usuario oprimió el botón llamado btnVerTabla. Si es así, se hace un llamado al método cargarTabla del objeto $bd. CUESTIONARIO

1. Agregar a la clase BDMySql un método con la siguiente firma: function cargarTablaConColores($consulta, $colorEncabezado, $colorFilaPar, $colorFilaImpar){…}

de tal forma que al invocarlo mediante el botón Ver Tabla produzca el resultado de la siguiente figura.

10


Es decir, tiene la misma funcionalidad que la funci贸n cargarTabla, pero el color de fondo del encabezado, el color de fondo de los registros pares y el color de fondo de los registros impares son argumentos adicionales proporcionados por el usuario cuando se invoca a la funci贸n. Un ejemplo de llamado a dicha funci贸n es: $bd->cargarTablaConColores("select * from alumnos", "C8FA64", "FAFA64", "FA96C8");

2. Modificar la aplicaci贸n anterior para incorporar dos botones, uno para eliminar un registro y el otro para actualizar un registro de la tabla Alumnos. REFERENCIAS http://php.net/manual/pt_BR/function.mysql-connect.php http://php.net/manual/es/function.mysql-select-db.php http://www.php.net/manual/pt_BR/function.mysql-close.php http://php.net/manual/es/function.mysql-query.php http://php.net/manual/es/function.mysql-num-fields.php http://php.net/manual/es/function.mysql-field-name.php

11


http://php.net/manual/es/function.mysql-fetch-array.php

RÚBRICA DE ACTIVIDAD 2.3 Programación de MySQL desde PHP INDICADOR O VARIABLE

DESCRIPCIÓN

PORCENTAJE

ACTITUD Puntualidad

El alumno se presenta dentro de la tolerancia establecida en las políticas de curso y reglamentos vigentes.

10

Trabajo en equipo

El alumno participa activamente en su equipo (en caso de no haber suficientes máquinas).

10

DESEMPEÑO Procedimiento de organización en equipo Procedimiento de identificación de la sintaxis para la creación de la clase BDMySql y del objeto de dicha clase para invocar métodos.

La organización y comunicación en el equipo permitió generar óptimos resultados (en caso de no haber suficientes máquinas). La ejecución del procedimiento les permitió identificar la sintaxis para crear la clase BDMySql, lo que implica identificar la sintaxis para definir los atributos y métodos de dicha clase (archivo bd.php). Más adelante, identifica la sintaxis de creación de un objeto de tipo BDMySql, lo que le permitirá tener acceso a la base de datos de MySQL, al ejecutar algunas consultas de selección y acción, utilizando PHP desde la aplicación principal (appbd.php).

10

20

Adecuada ejecución del procedimiento para obtener los resultados deseados (el alumno sigue de manera estricta los pasos del procedimiento): -Definir la clase BDMySql en el archivo bd.php. Desarrollo de actividades de currícula

-Creación de la página principal appbd.php que representa la interfaz en HTML de la aplicación y en la que se: 30 a) Incluye la clase definida en bd.php. b) Crea un objeto de tipo BDMySql, mediante el cual se tiene acceso a los métodos que permiten la conexión con el servidor, la selección de la base de datos, la ejecución de consultas de selección y acción, etc. c) Comprueba el botón que oprimió el usuario y en función de eso se ejecuta el método apropiado del objeto de tipo

12


BDMySql. PRODUCTO

Presentaciรณn de conclusiones y forma de entrega

La prรกctica se desarrollรณ correctamente y de manera รณptima emitiendo conclusiones de las actividades desarrolladas con base al aprendizaje obtenido. Se cumpliรณ con la forma de entrega que consiste en:

20

Especificar el procedimiento utilizando para resolver el cuestionario de esta actividad en un archivo llamado CuestionarioActividad2_3.

TOTAL

100

13

Programación de MySQL desde PHP  

En esta práctica se emplea el manejador de base de datos relacional MySQL para crear una base de datos (escuela) y una tabla (alumnos). Desp...