Regional Distrito - Capital
Sistema de Gestión de la Calidad
GUIA DE APRENDIZAJE
CREACION DE PAGINAS WEB CON PHP Y MYSQL
Código:
Versión 1
Centro para la Industria de la Comunicación Gráfica
CENIGRAF
Bogotá D.C.,Marzo de 2012
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 2 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
CONTROL DEL DOCUMENTO
Nombre Cargo Dependencia Fecha
Santos Gómez Instructor de CENIGRAF Marzo 2012
Autores ADSI
Asesoría
pedagógica
Revisión
Aprobación
1. IDENTIFICACIÓN
Programa de Formación
TECNOLOGO ANALISIS DISEÑO DE SISTEMAS DE INFORMACION
Nombre del Proyecto
Desarrollo de aplicación sistemática para la industria del software y
videojuegos apoyada en el control de personal a través de un entorno web.
Nombre de la Guía Duración de la Guía:
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL 20 Horas
Resultados de Aprendizaje:
1. Desarrollar páginas web medianamente complejas.
2. Aprender los conceptos básicos de la tecnología cliente servidor
3. Construcción de HTML mediante lenguajes de servidor (PHP)
4. Construir una base de datos a partir de un modelo entidad relación
5. Aplicar técnicas de validación de datos del lado del cliente
6. Presentar información proveniente de una base de datos mediante HTML y PHP
2. INTRODUCCIÓN
Esta guía se ha diseñado para personas con conocimientos básicos en programación,
bases de datos y lenguaje HTML (Hyper Text Markup Language).
Una página web no es solo para presentar información al público, también es una herramienta para
realizar muchas tareas que en la actualidad permiten a los usuarios conocer y aprovechar más el
canal de comunicación abierto por Internet.
La presentación de contenido estático (que no cambia con el tiempo) es uno de los más grandes
inconvenientes a la hora de pensar en desarrollar una página web. Cada vez que sea necesario
cambiar la información que se presenta en una página es necesario modificar los códigos que la
conforman. Esto limita la funcionalida de las páginas y obliga a los compradores a depender de otra
persona con las competencias necesarias para modificarla sin llegar a destruir lo construido.
Los lenguajes del lado del servidor permiten crear páginas dinámicas que se alimentan de bases de
datos externas, lo cual brinda la posibilidad de ser actualizadas por un proceso independiente al del
diseño y de esta forma evitar tocar o afectar el código hecho previamente.
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 3 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
Aprovechando la tecnología conocida como Cliente – Servidor (Donde el cliente es el Navegador de
Internet del Usuario y el Servidor es el Hosting o el Sitio web donde se encuentra almacenada la
página) podemos generar Aplicaciones Web, o páginas web orientadas a suplir las aplicaciones de
escritorio anteriormente codificadas en lenguajes complilados con complejas instalaciones y altisimos
requermientos en cuanto a Hardware.
Conceptos
Esta guía pretende que el aprendiz conozca la forma como se construye una página
web a partir de un lenguaje de servidor, utilizando bases de datos y tecnologías que
permitan validar los datos en el lado del cliente.
Para ello se va a utilizar un caso práctico en el cual se simulará el requerimiento expreso de un
cliente y se terminará por desarrollar una solución que cumpla con lo solicitado
Para poder cumplir con los objetivos y realizar las diferentes evidencias, con ayuda de
la guía los aprendices deben cumplir con actividades como:
Búsqueda, análisis y síntesis de información, utilizando las diferentes fuentes de
información, (entorno, el Instructor, las Tics y el trabajo colaborativo) actividades
individuales, actividades en grupo y discusiones grupales dirigidas para socializar y dar
conclusiones pertinentes al tema, asumiendo un papel participativo, colaborativo,
donde presente sus aportes, evidencias y experiencias, planteen soluciones, tomen
decisiones y hagan uso efectivo de los recursos asignados para su formación.
3. ACTIVACIÓN DE CONOCIMIENTOS
CASO PRACTICO
Un cliente tiene la necesidad de generar una solución a la siguiente
problemática:
Una comunidad de exalumnos de un colegio necesita compartir información
comercial entre si, de tal forma que solo los miembros registrados en la
comunidad tengan la posibilidad de consultar esta información, contactar al
anunciante y hacerle preguntas con respecto a su publicación.
Los directivos de la comunidad son los únicos que podrán agregar o eliminar a
los participantes. Las publicaciones deben tener una imágen o logotipo de la
empresa o del anunciante, una dirección de contacto, email, telefono, horario
de atención y la descripción de los servicios ofrecidos.
Se debe presentar la información de forma alfabética, con “lengüetas” al estilo
de un directorio telefónico (ABC-DEF-GHI-JKL-MNO-PQR-STU-VWX-YZ).
ACTIVIDAD
Haga el análisis de la información suministrada por el cliente y realice un
modelo de base de datos para almacenar la información requerida.
Haga una página web en HTML donde se presente información acerca de la
comunidad y que tenga un Inicio de Sesión.
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 4 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
Haga otras dos páginas html con las opciones que tendría el menú principal de
la aplicación y la página de administración.
Tiempo: 2 Horas
Evidencias: Modelo de Base de Datos y Páginas web en HTML
4. CONSTRUCCIÓN DEL CONOCIMIENTO
PHP
Basado en el Lenguaje C, creado por Rsasmus Lerdorf en el año 1994. PHP es el
acrónimo de “Hypertext Pre-Procesor” y se utiliza principalmente para el procesamiento
de páginas web desde un servidor.
SINTAXIS
Todos los comandos de PHP deben ir encerrados dentro de un grupo de etiquetas que
identifican el inicio y el final del código. Estas etiquetas son:
<? y ?>
<?php y ?>
<% y %>
VARIABLES
Todas las variables en PHP empiezan con el simbolo ($). No se admiten comas ni
caracteres especiales, espacios, puntos ni acentos (é,ñ,ü, etc)
Las variables en PHP son sensitivas a mayúsculas y minúsculas, debe empezar por una
letra o un Guión Bajo ( _ ). Las variables se pueden definir en cualquier parte del
programa y automáticamente toman el tipo de dato que almacenan.
Nombres Válidos de Variables:
$ahora=0;
$_texto = “Este es un Texto”;
$salario_mensual = 1234564.34;
Nombres Inválidos de Variables
$1_nombre=”Pedro”;
$contraseña=”123”;
$suma?total = $a+$b;
ARREGLOS
Los arreglos son variables especiales que permiten almacenar diferentes datos bajo un
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 5 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
mismo nombre, identificados con un indice o un nombre de posición. Hay dos formas
de definir un arrelgo, la primera es declarando la variable con sus posiciones
directamente
Ejemplo:
$arreglo[0]=1;
$arreglo[1]=10;
$arreglo[2]=20;
Y la segunda forma es definiendo el arreglo mediante el objeto array de PHP
$arreglo = array(1,10,20);
Todos los arreglos en PHP empiezan con la posición CERO, por lo tanto para un arreglo
de 4 posiciones se tendrán los indices (0,1,2,3)
Otra modalidad de arreglos son los denominados Asociativos, en los cuales se
reemplaza el número del indice por un nombre.
Ejemplo:
$estructura['nombre']='Pedro';
$estructura['apellido']='Pedroza';
O también se pueden definir utilizando el objeto array de la siguiente forma
$estructura= array(“nombre”=>”Pedro”, “apellido”=>”Pedroza”);
CONDICIONES
Hay dos formas de tomar desisiones en PHP, la más básica es la sentencia if que tiene
la siguiente sintaxis:
if(condicion){ bloque verdadero } else { bloque falso}
Ejemplo:
if($a>0){ echo “A es mayor a cero”;} else { echo “A es menor o Igual a cero”;}
CONDICIONES ANIDADAS
if($a>0){
if($b>0){
echo “A y B son mayores a Cero”;
} else {
echo “A es mayor a cero y B es menor o Igual a Cero”;
}
} else {
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 6 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
echo “A es menor o Igual a cero”;
}
Otra forma más especializada de hacer condiciones es utilizar la sentencia switch que
permite evaluar diferentes valores para una misma variable, tiene una ventaja sobre el
if y es la rapidez en la codificación y la lectura ya que su estructura es mucho más
corta que la de muchos if anidados.
switch($variable){
case(1):
bloque codigo
break;
case(2):
bloque codigo
break;
default:
bloque codigo;
break;
}
Ejemplo: Para este caso se evalua una sola variable y de acuerdo a sus posibles
valores, se toma una acción diferente.
switch($opcion){
case 1:
echo “Ha seleccionado la opcion 1”;
break;
case 2:
echo “Ha seleccionado la opcion 2”;
break;
default:
echo “Ha seleccionado cualquier otra opcion que no es 1 ni 2”;
break;
}
CICLOS
La sentencia for realiza un ciclo automático en PHP y tiene la siguiente sintaxis:
for(variable; condicion; incremento){ bloque a repetir }
Tenga en cuenta que bloque a repetir se ejecuta MIENTRAS QUE condicion sea
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 7 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
verdadera y cada vez que se llegue al final del bloque se ejecutará la instrucción de
incremento.
Ejemplo:
for($i=1; $i<=10; $i++){
echo $i;
}
Este código imprime de corrido en la pantalla los numeros de 1 a 10 (12345678910)
Cuando no se puede determinar la cantidad de veces que se debe ejecutar un bloque,
es necesario utilizar la sentencia while que tiene la siguiente sintaxis:
while (condicion) { bloque a repetir}
Por ejemplo si se quisiera repetir el mismo ejemplo que se utilizó para el for pero
utilizando la sentencia while, el código sería el siquiente:
$i=0;
while($i<=10){
echo $i;
$i++;
}
CONEXION A BASES DE DATOS EN PHP
Para conectarse a una base de datos es necesario establecer primero el motor de base
de datos a utilizar, depués conectarse al servidor y por último seleccionar la base de
datos.
Para este caso se va a utilizar MySLQ como motor, localhost como el servidor y la base
de datos pruebas
El primer paso ya está determinado y es el motor que se va a utilizar, por lo tanto
todas las instrucciones de php que sean necesarias para acceder, consultar, actualizar
o modificar la base de datos deben tener el prefijo “mysql”. Php establece la conexión
al servidor mediante la sentencia mysql_connect la cual devuelve un objeto de tipo
conexión identificado con un número mayor a cero cuando la conexión es exitosa y
menor o igual a cero cuando la conexión falla por algún motivo.
Una vez conectado al servidor se debe seleccionar la base de datos con la cual se va a
trabajar. Esto quiere decir que es posible conectarse a múltiples bases de datos dentro
del mismo servidor y conectarse a cuantos servidores sea necesario.
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 8 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
Ejemplo: Se tiene el servidor de bases de datos local, identificado como localhost
dentro de este servidor hay una base de datos llamada prueba, a ellas puede acceder
el usuario root identificado con la contraseña “root123”
$enlace = mysql_connect('localhost','root','root123'); //Conexión al Servidor
mysql_select_db('prueba',$enlace); //Selección de la Base de Datos
Para ejecutar una consulta en la base de datos se debe utilizar la sentencia
mysql_query la cual devuelve un objeto con la colección de registros que corresponden
a la consulta ejecutada. Hay muchas formas de recuperar esos registros, la más común
es mysql_fetch_assoc esta sentencia crea un arreglo asociativo con los resultados
almacenados en el primer registro de la colección y una vez leido apunta al siguiente
registro o a nulo si es que se llega al final.
Ejemplo:
$rst=mysql_query(“select * from paises”,$enlace);
$fila = mysql_fetch_assoc($rst);
Suponiendo que se tiene una tabla llamada “municipios” con dos columnas (id_pais, y
nombre_pais) con los siguientes datos:
paises
id_pais nombre_pais
1 Colombia
2 Ecuador
3 Venezuela
El objeto $rst sería una colección como la anterior y el arreglo $fila tedría la siguiente
estructura:
$fila['id_pais'] = 1;
$fila['nombre_pais'] = 'Colombia';
De esta forma es posible acceder a los regisros que componen una colección de datos
obtenida mediante la ejecución de la sentencia mysql_query. Esta sentencia es posible
utilizarla para ejecutar consultas que no traigan resultado de datos, tales como las
utilizadas para insertar, modificar y eliminar registros, en cuyo caso se devolverá un
número positivo en caso exitoso y uno negativo o igual a cero en caso de existir un
error.
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 9 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
Para conocer los errores que se generan dentro del servidor de bases de datos, PHP
ofrece una función llamada mysql_error() la cual imprime el último error que ha
enviado el motor. La forma de utilizarla es:
echo mysql_error();
COMUNICACION ENTRE HTML Y PHP
No sería nada útil PHP si no se pudiera interactuar con él de alguna forma diferente a la
programación neta. Se podría decir que HTML es la “interfase” gráfica de PHP, es
decir, que es la forma como PHP presenta y recibe información hacia y desde el
usuario.
Para poder comunicarse con PHP y enviarle información, se pueden utilizar dos formas,
una explicita llamada GET y otra oculta llamada POST.
EL METODO GET
Cuando es necesario comunicarse con PHP sin utilizar un formulario, es posible utilizar
este método ya que se invoca desde la URL como tal. Para hacer esto es necesario
agregar el simbolo “?” después del nombre del programa y a continuación agregar las
parejas de “variable – valor” separadas por el símbolo “&”
http://www.misitio.com/programa.php?
variable=valor&otravariable=otrovalor
Dentro de PHP es posible acceder a estos valores mediante la SuperGlobal $_GET, esta
variable está disponible siempre en todos los scripts de PHP y se carga con los datos
recibidos mediante la URL como es el caso del siguiente ejemplo
http://localhost/curso_php/saludo.php?nombre=pedro&apellido=perez
saludo.php
<?php
echo “Hola. Tu nombre es : “.$_GET['nombre'].” y el apellido “.$_GET['apellido'];
?>
Al ejecutar el programa anterior se obtendrá el siguiente resultado
Hola. Tu nombre es: pedro y el apellido perez
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 10 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
METODO POST
Para utilizar este método es necesario crear un formulario en HTML, ya que es la única
forma como PHP puede recibir la información. En el código HTML es necesario
especificar que se va a utilizar este método para que PHP sepa como tratar la
información que recibe. Para esto se utilizan los atributos “method” y “action” del tag
<FORM>
formulario.html
<form action=”nuevo_saludo.php” method=”post”>
<input name=”nombre” type=”text”>
<input name=”apellido” type=”text”>
<input type=”submit” name=”btn_enviar” value=”Enviar”>
</form>
nuevo_saludo.php
<?php
echo “Hola. Tu nombre es : “.$_POST['nombre'].” y el apellido “.$_POST['apellido'];
?>
SESIONES
Una sesión en php empieza en el momento en que el usuario tiene acceso por primera
vez a una página php y puede durar hasta que el usuario abandone la página o
simplemente permaneza inactivo más del tiempo que tiene especificado PHP como
tiempo de vida de la sesión (que por lo general son 15 minutos). Estas sesiones son
como espacios de almacenamiento temporal que el servidor aparta para cada usuario.
Por lo tanto es posible almacenar allí información que va a estar disponible mientras la
sesión esté activa.
Para poder indicarle a PHP que vamos a utilizar este espacio o que vamos a acceder a
una sesión, se debe ejecutar el comando “session_start();” Una vez ejecutado, se
tendrá acceso a la superglobal $_SESSION y por ende a su contenido. Un ejemplo
práctico es el Login dentro de una aplicación, ya que a cada página (programa php)
que se llegue se debe preguntar si el usuario ya ha hecho login. Este comando
session_start() no se puede ejecutar cuando la sesión ya está abierta porque causará
un mensaje de tipo Warning. Para evitar esto se puede manejar de la siguiente forma:
<?php
if(!isset($_SESSION)){
session_start();
}
?>
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 11 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
La función isset() verifica si una variable existe o si es accesible desde el ámbito actual
y retorna verdadero o falso.
Este coódigo anterior garantiza quye la sesión solo se cree cuando no exista una
previamente cargada. Ahora para poder crear variables de sesión, se deben asignar
como un arreglo asociatico comun y corriente, se debe registrar el nombre
$_SESSION['nombre_var']=valor; por ejemplo en el caso del login:
$_SESSION['cod_usuario']=$row['usuario'];
Si es necesario utilizar estas variables en un momento posterior a su registro, es
necesario iniciar la sesión (session_start()) para poder obtener acceso a ellas. La forma
de obterner el valor de una variable de sesión es como el de cualquier variable
superglobal.
$valor_global = $_SESSION['cod_usuario'];
BASES DE DATOS -
MySql es la base de datos más popular en los últimos años como servidor para atender
los requermientos de una página o aplicación Web.
MySql utiliza dos tecnologías de almacenamiento de datos (InnoDb y MyIsam).
InnoDb permite al motor manejar una integridad relacional entre las tablas que
conforman la base de datos, lo cual garantiza la consistencia de los datos (que las
tablas almacenen la información que corresponde según un modelo relacional), esto
parece ser bueno, pero denigra la velocidad de respuesta en las operaciones de
escritura (Eliminación, edición e inserción). Gracias a esto permite el bloqueo de un
unico registro y el manejo de transacciones.
MyIsam permite búsquedas del estilo “FullText” que son las más utilizadas en la web.
Permite mayor cantidad de registros que InnoDb sin bajar el rendimiento, bloqueo de
toda la tabla al escribir (Eliminación, edición e inserción), es necesario desarrollar toda
la logica de integridad de la base de datos en el programa, ya que esta tecnología no
realiza este tipo de controles.
CONSULTAS
Una parte importante de las bases de datos son las consultas. En mysql como en todo
motor de Sql, existen cuatro basicos de consulta: de insersiòn, actualización,
eliminación e informativas.
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 12 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
De inserción :
insert into nombre_tabla (campo1,campo2) values (valor_campo1,valor_campo2)
Ejemplo:
insert into paises (id_pais,nombre_pais) values (1, 'Afganistan')
Cuando es necesario obtener la información de dos o más tablas que se encuentran
relacionadas, MySQL permite la ejecución de consultas complejas en las cuales
podemos incluir diferentes columnas de las tablas involucradas. Un ejemplo de estas
consultas seria el siguiente caso: Se requiere un listado completo de paises con
departamentos y cada departamento con sus municipios en la siguiente estructura de
base de datos.
ESTRUCTURA
paises departamentos municipios
id_pais id_pais id_departamento
nombre_pais id_departamento id_municipio
nombre_departamento nombre_municipio
DATOS
paises
id_pais nombre_pais
1 Colombia
2 Ecuador
3 Venezuela
departamentos
id_pais id_departamento nombre_departamento
1 1 Cundinamarca
1 2 Bolivar
2 3 Pichincha
2 4 Amazonas
municipios
id_departamento id_municipio nombre_municipio
1 1 Chia
3 2 Kabu
2 3 Cartagena
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 13 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
Query:
select pais.nombre_pais, departamentos.nombre_departamento,
municipios.nombre_municipio from paises, departamentos, municipios where
paises.id_pais =departamentos.id_pais and departamentos.id_departamento =
municipio.id_departamento
Resultados:
nombre_pais nombre_departamento nombre_municipio
Colombia Cundinamarca Chia
Ecuador Pichincha Kabu
Colombia Bolivar Cartagena
Nótese que solo aparecen los resultados de las condiciones que se cumplen por
completo, es decir, solo aparece el listado de los paises que tienen un departamento y
a su vez que esos departamentos tengan un municipio.
LEFT y RIGHT JOIN
Para permitir la generación de consultas como la que se propone en el ejercicio anterior
existe LEFT y RIGHT join que permite agregar los registros completos de la tabla ya
sea de izquierda (LEFT) o de derecha (RIGHT) de la consulta. Para el ejemplo anterior
se utilizaría de la siguiente forma.
select paises.nombre_pais, departamentos.nombre_departamento,
municipios.nombre_municipio from paises left join departamentos on
departamentos.id_pais = paises.id_pais left join municipios on
departamentos.id_departamento =municipios.id_departamento
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 14 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
nombre_pais nombre_departamento nombre_municipio
Colombia Antioquia Medellin
Colombia Antioquia Envigado
Colombia Cundinamarca Chia
Colombia Cundinamarca Soacha
Colombia Bolivar NULL
Ecuador Amazonas NULL
Ecuador Napo NULL
Ecuador Pichincha NULL
Peru NULL NULL
JAVA-SCRIPT
Java script es un Pseudo Lenguaje que es interpretado por el Navegador de Internet a
demanda del código HTML y puede ser utilizado en ciertos eventos como por ejemplo el
envio de un formulario. La ventaja de Javascript es la interacción con los objetos del
documento HTML. Esto permite por ejemplo intervenir en el proceso de envío de un
formulario, validar si la información que se va a enviar es acorde a lo que se solicita y
si es el caso emitir un mensaje al usuario para solicitarle que corrija los errores.
Para poder utilizar Javascript es necesario utilizar la etiqueta <script></script> y
conocer los eventos en los cuales es posible intervenir. Para este caso específico se va
a intervenir el evento “ONSUBMIT” (que traduce algo como “En el Envio”). Para que
este evento suceda, se debe presionar el boton de tipo “SUBMIT” de un formulario.
Para que HTML considere que puede enviar el formulario, el evento ONSUBMIT debe
recibir un valor “VERDADERO”. Este valor es otorgado por omisión, es decir, que si no
se especifica lo contrario, siempre será verdadero. Para intervernir en este proceso se
debe modificar la etiqueta <form> agregandole un nombre de función al evento
“ONSUBMIT” de la siguiente forma:
<form onsubmit=”return validar(this)”>
Esto quiere decir que al momento de presionar el botón SUBMIT del formulario, se
ejectutará la función “validar” que lleva como parámetro el formulario completo. Ese
formulario llega a JavaScript como un objeto. El siguiente ejemplo muestra la forma de
incluir un script dentro de una página HTML
<html>
<head>
<script type=”text/javascript”>
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 15 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
function validar(objeto){
if(objeto.id==”forma_registro”){
return true;
} else {
return false;
}
</script>
</head>
<body>
<form id=”forma_registro” method=”post” onsubmit=”validar(this)”>
<table><tr><td>Nombre:</td><td><input type=”text” name=”nombre”
id=”nombre”></td></tr>
<tr><td>Email:</td><td><input type=”text” name=”email”
id=”email”></td></tr>
<tr><td colspan=”2”><input type=”submit” value=”btn_enviar”
name=”btn_enviar”></td></tr>
</table>
</form>
</body>
</html>
5. APLICACIÓN DEL CONOCIMIENTO
ACTIVIDAD
Renombre las 3 páginas creadas anteriormente como .php e incorpore la
funcionalidad necesaria para hacer el login de un usuario. Este usuario puede ser
Administrador o un Usuario normal. En cada caso deberá llevarlo a la página
principal del perfil que corresponda.
Tiempo: 2 Horas
Evidencias: Paginas web en PHP
ACTIVIDAD
Agregue la funcionalidad a la página del administrador para que le sea posible
agregar, modificar y eliminar los registros de los usuarios del sistema. Así mismo
agregue la funcionalidad para que el administrador pueda eliminar los archivos
publicados por los usuarios en caso de haber lenguaje inapropiado o aquellos avisos
cuya fecha de publicación haya caducado.
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 16 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
Tiempo: 6 Horas
Evidencias: Paginas web en PHP
ACTIVIDAD
Agregue toda la funcionalidad para que el Usuario Normal pueda publicar, modificar
y eliminar los anuncios. Tenga en cuenta que los anuncios deben cumplir con los
requerimientos planteados en el caso práctico.
Tiempo: 6 Horas
Evidencias: Paginas web en PHP
ACTIVIDAD
Elabore las fichas de búsqueda para que el usuario pueda encontrar los anuncios
organizados por grupos de letras. Al hacer click en cada grupo se podrán observar
los anuncios que corresponden en forma de listado general incluyendo la foto.
Tiempo: 4 Horas
Evidencias: Paginas web en PHP
6. EVALUACIÓN
Resultados de Reforzar las siguientes competencias
Aprendizaje
Desarrollar el sistema de información que cumpla con los
requerimientos de la solución informática
Implantar la solución que cumpla con los requerimientos para su
operación
.
Criterios de Desarrolla soluciones medianamente complejas basadas en HTML
Evaluación y PHP con acceso a Bases de Datos en MySql conforme a las
normas de calidad establecidas por la Empresa.
Selecciona los métodos y funcionalidades necesarios para cumplir
con las normas de calidad establecidas.
Sigue las directrices dadas por el instructor para resolver las
actividades de la guía y presentar las evidencias de forma
individual o conformando grupos de trabajo colaborativo
Tipos de Página en HTML con el resultado de los ejercicios
Evidencia
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 17 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
planteados en toda la guia. (individual).
Modelo de Base de Datos implementado para el desarrollo
de la Guia.
Instrumentos de Formulación de preguntas
Evaluación Lista de chequeo.
Observación directa
7. AMBIENTES DE APRENDIZAJE Y RECURSOS DIDÁCTICOS
Aula de ADSI, dotada con:
Equipos de computo PC
Software Plataforma y servicios Web (Servidor local con PHP y MySql)
Conexión de Internet
Asesoría del docente
8. GLOSARIO
$ : Simbolo utilizado en PHP para definir las variables. Toda variable debe llevar este símbolo al
inicio
break: Sentencia utilizada en la cláusula switch de PHP para indicar al intérprete que ha finalizado
un bloque y que no debe seguir evaluando..
consulta: También llamada “query”, es una instrucción que se envía a un servidor de base de
datos para obtener un resultado.
default: Sentencia utilizada en la clausula switch de PHP para indicar lo que se debe hacer
cuando no hay ninguna coincidencia
echo: Instrucción de PHP que permite enviar caracteres al navegador de Internet
id: Atributo que permite a las etiquetas de HTML ser identificadas y utilizadas por JavaScript
script: Sección de código en un lenguaje de programación que realiza una labor o tarea específica
validar: Término utilizado para denominar así al proceso de verificación de datos previo al envío
de un formuilario.
Sistema de
Gestión de la REGIONAL DISTRITO - CAPITAL Fecha: Agosto de
Calidad CENTRO PARA LA INDUSTRIA DE LA COMUNICACIÓN GRAFICA 2010
Versión: 2
ESTRUCTURA CURRICULAR TECNÓLOGO EN ANALISIS Y
DESARROLLO DE SISTEMAS DE INFORMACION Página 18 de 18
GUIA DE APRENDIZAJE
DESARROLLO DE PAGINAS WEB CON PHP Y MYSQL
Where: Cláusula de SQL utilizada dentro de una consulta para especificar las condiciones de filtro
que deben cumplir los registros para que sean parte de la colección a mostrar.
9. BIBLIOGRAFÍA - CIBERGRAFIA
http://www.w3.org/
https://developer.mozilla.org/en/JavaScript
http://www.w3schools.com/
http://www.php.net/manual/es/manual.php
http://dev.mysql.com/doc/refman/5.6/en/