Você está na página 1de 13

Programacin Web PHP con MySQL Contenido del Bloque 5

PHP y MySQL

INNOVATIVA CENTRO DE TRANSFERENCIA Y DESARROLLO TECNOLGICO ESPE - CECAI Coordinacin: Ing. Mnica Aguirre, MSc. Diseo Pedaggico - Instruccional: Lic. Mauricio Hidalgo Diseo de Contenidos: Ing. David Badillo Correccin Idiomtica: Lcda. Ana Bertha Maldonado Santamara Revisin y Aprobacin: Ing. Mnica Aguirre, MSc. Sangolqu, Ecuador 2

Tabla de contenido
BLOQUE 5: PHP y MySQL ......................................................................4 Unidad 16: Manejo de datos desde PHP ...............................................4 16.1. Conexin a la base de datos ....................................................4 16.2. Consulta de datos desde PHP ..................................................5 16.3. Insercin de registro desde PHP ...............................................6 16.4. Actualizacin de registros desde PHP ........................................6 16.5. Borrar registro desde PHP .......................................................7 Unidad 17: Administracin de tablas (Parte I).......................................8 17.1. Crear formulario para insercin y actualizacin de datos .............8 17.2. Crear funciones para manejo de datos ......................................9 17.2.1. Funciones para guardar registro ............................................9 17.2.2. Funciones para borrar ..........................................................9 Unidad 18: Administracin de tablas (Parte II) ................................... 10 18.1. Reporte de la tabla............................................................... 10 18.2. Crear funciones para manejo de datos .................................... 11 18.3. Implementacin final y pruebas ............................................. 11 3

BLOQUE 5: PHP y MySQL

Unidad 16: Manejo de datos desde PHP

Para que PHP pueda conectarse y modificar datos de MySQL, se deber utilizar el mdulo de PHP que es php-mysql; en caso de existir dudas de que est cargado o instalado el mdulo, se puede llamar a la funcin phpinfo() y verificarlo.

16.1. Conexin a la base de datos

Lo primero que se debe hacer para comenzar a trabajar con MySQL, es conectarse a la base de datos. Se recomienda usar un solo archivo de conexin en la aplicacin para evitar el cambio a varios lugares, en el caso en que los datos de la conexin fallen. La funcin para conectar es: $conexion = mysql_connect("localhost", "user","password"); Donde: Localhost: Es el nombre del servidor; si el servidor es local, ser siempre localhost, si es remoto debera ir la IP respectiva. User: Es el nombre de usuario de la base de datos con la que quiera conectarse. Password: Es la contrasea del usuario con el cual se quiere conectar a la base de datos.
4

Como se puede observar,

la devolucin de la funcin se la ha

guardado en la variable $coinexion, el motivo es que en esta se guarda un identificador de la conexin para su posterior uso. Pues bien, solo hace falta un paso ms. Como se conoce, un motor

de base de datos, puede tener varias de estas; en este caso, en la conexin no se ha especificado cul es la base de datos que se va a utilizar; para ello entonces utilizamos: mysql_select_db ("nombre_base", $conexion); nombre_base: Es el nombre de la base de datos $conexion: Es el identificador de la conexin que da como resultado de la ejecucin de la funcin mysql_connect ()
5

16.2. Consulta de datos desde PHP

Para realizar consultas en la base de datos se debe guardar la sentencia SELECT en una variable como se lo anot anteriormente. $sql = 'SELECT * FROM directorio;'; //sentencia SQL guardada en $sql $res = mysql_query($sql); // Se manda con la funcin sentencia SQL. $consulta = mysql_fetch_array($res); // Se guarda el resultado de la consulta en un arreglo llamado $consulta. ejecutar la sentencia SQL

mysql_query() que recibe como parmetro la

El resultado de la consulta, es almacenada en un ajuste de datos; luego de lo cual, este resultado se lo podr manipular.

16.3. Insercin de registro desde PHP

Para insertar datos, primero se debe guardar en una variable tipo string la sentencia SQL y luego ejecutar la sentencia. $sql = 'INSERT INTO directorio(id,name) VALUES(3,"David");'; // sentencia SQL de insercin. mysql_query($sql); // se ejecuta la sentencia SQL. Como podrn observar, es ms simple que la consulta, pues solo con la funcin mysql_query() ya se ejecuta la sentencia SQL, que hace la insercin del dato. Lo importante es el poder armar adecuadamente la sentencia SQL. Es recomendable si existen errores en esta parte, que impriman la sentencia SQL para verificar que la sintaxis sea la adecuada. 6

16.4. Actualizacin de registros desde PHP

Al igual que el insertar, solo debern poner la sentencia SQL a ejecutar y usar la misma funcin mysql_query() $sql = 'UPDATE directorio SET name="David2" WHERE id=5;'; mysql_query($sql);

16.5. Borrar registro desde PHP

Al igual que el insertar y actualizar, solo se debe poner la sentencia SQL que realice el borrado y ejecutar la funcin mysql_query() $sql = 'DELETE FROM directorio WHERE id=5;'; mysql_query($sql);

Unidad 17: Administracin de tablas (Parte I)

17.1. Crear formulario para insercin y actualizacin de datos

Pues bien, hemos llegado a la parte final, donde aplicaremos todos los conocimientos adquiridos durante el desarrollo del curso virtual; por lo

tanto, debemos comenzar por disear varias funciones para administrar una tabla de la base de datos.

Lo primero que vamos a efectuar, es la creacin del formulario por el cual el usuario ingresa los datos. 8 Se ha utilizado la tabla contacto que tiene los siguientes campos:

id nombre edad gnero estado_civil email

El campo id, solo debe estar presente en la base de datos, recuerda que es auto incremental y no es necesario que sea llamado desde PHP.

Analizar el cdigo publicado en RECURSOS COMPLEMENTARIOS con el nombre formulario.php

17.2. Crear funciones para manejo de datos

Para poder manejar los datos en la base, necesitamos de varias sentencias SQL fundamentales antes vistas: INSERT, UPDATE y DELETE, para ello creamos las funciones las cuales se detallan en los siguientes puntos:

17.2.1. Funciones para guardar registro

Esta funcin no solo guarda los registros nuevos, si no que si existe el registro debe actualizar los datos, por ende en esta funcin, utilizaremos las sentencias SQL: INSERT y UPDATE. La lgica es la siguiente.

La funcin recibe un parmetro $id, el cual si su valor es igual a NULL, quiere decir que el registro no existe, por ende debe realizar un INSERT, para insertar un nuevo registro; en el caso de que $id sea diferente a NULL, quiere decir que existe un registro y lo que se desea es actualizar, para ello se debe realizar un UPDATE. Analizar el cdigo publicado en RECURSOS COMPLEMENTARIOS con el nombre guarda.php

17.2.2. Funciones para borrar

Para borrar un registro debemos usar la sentencia SQL DELETE, en este caso vamos a crear una funcin que reciba como parmetro el $id, que ser quien identifique que registro debemos borrar.

Analizar el cdigo publicado en RECURSOS COMPLEMENTARIOS con el nombre borra.php

Unidad 18: Administracin de tablas (Parte II)

18.1. Reporte de la tabla

En la unidad anterior, aprendimos como se deben crear las funciones para la administracin de datos desde el PHP, pues ahora vamos a terminar de construir nuestro sistema que maneja la tabla contactos, comenzando por dibujar un reporte de la tabla con PHP. 10 Analizar el cdigo en Recursos Complementarios el archivo que dice: reporte.php

Como parte importante y nueva, es la funcin mysql_fetch_array(); esta funcin lo que hace, es colocar cada registro en un arreglo de datos, en el cual mediante la sentencia while, vamos recorriendo todos los registros de la tabla.

Por cada interaccin del while, se va creando un arreglo con los datos de cada registro.

18.2. Crear funciones para manejo de datos

Hasta el momento hemos visto las funcionalidades del sistema, sin embargo nos falta la parte ms difcil, en este caso es la creacin de un controlador; esto quiere decir que mientras se ejecuta un evento en el sistema, el controlador debe llamar a la funcin adecuada.

El controlador en nuestro sistema lo he colocado en el index.php que es la entrada al nuestra aplicacin.

Analizar

el

cdigo

en

Recursos

Didcticos

el

archivo

que

dice

controlador.php 11

18.3. Implementacin final y pruebas

Luego de tener listo todo el cdigo, debemos construir la estructura del sitio, en este caso, es aconsejable que todas las funciones las pongamos en un solo archivo y que las llamadas a las mismas vayan en el index.php. Como vimos en el reporte, usamos imgenes, las cuales tambin deben estar bien ubicadas.

Listando los archivos de la aplicacin, quedaran de la siguiente manera:

index.php includes/functions.php images/delete.png

images/new.gif images/edit.png
Como vemos, slo el index.php, estara en la raz de nuestro sitio Web. Por favor buscar y estudiar en Recursos Didcticos, el cdigo fuente del sistema; ejemplo que lo hemos explicado en estas dos ltimas unidades, el recurso llamado: contacto.zip; el mismo que contiene la estructura antes descrita y adicionalmente el invertido de la base de datos llamada contacto.sql

En el archivo functions.php, deben poner los datos de su base para que se pueda conectar a la misma.

12

13

Esta obra est bajo una licencia de Creative Commons Reconocimiento-NoComercialSinObraDerivada 3.0 Ecuador

Você também pode gostar