Creación de Servicios web y modificaciones al webhosting gratuito

Anuncio
UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION PARA DISPOSITIVOS MOVILES
PDM115
Ciclo I-2014
GUIA DE LABORATORIO N° 10 b
Creación de Servicios web y modificaciones al webhosting gratuito para
consumir posteriormente desde el movil
Objetivo:
Crear los servicios web adicionales a los hechos en la guía 8b para que permitir consumo
desde movil.
Requerimientos previos:

Desarrollar guia 8b
Índice
Contenido
Encontrar Alumno y Materia por fecha .............................................................................................. 1
Agregar los campos de fecha a la tabla Alumno y Materia. ............................................................ 1
Servicio web de Alumnos filtrados desde una fecha. .................................................................... 2
Servicio web de Materias filtradas desde una fecha..................................................................... 3
Servicio web de Inserción de Notas. .............................................................................................. 4
Probar Con la siguientes URL: ............................................................................................................. 5
Obtener el Promedio de Notas de un Alumno .................................................................................... 6
Servicio web de Traer promedio de notas x alumno. .................................................................... 6
Consultar Notas agrupadas por carnet ............................................................................................... 6
1
Encontrar Alumno y Materia por fecha
Agregar los campos de fecha a la tabla Alumno y Materia.
*Si ya se tienen datos hacer el update
ALTER TABLE `alumnos` ADD `fecha_modificado` TIMESTAMP NULL DEFAULT
CURRENT_TIMESTAMP ;
UPDATE `a6240432_carnet`alumnos` SET `fecha_modificado` = '2011-01-01
00:00:00' WHERE CONVERT( `alumnos`.`Carnet` USING utf8 ) <> 'AAAAAAA'
LIMIT 5 ;
ALTER TABLE `materia` ADD `fecha_modificado` TIMESTAMP NULL DEFAULT
CURRENT_TIMESTAMP ;
UPDATE `a6240432_carnet`.`materia` SET `fecha_modificado` = '2011-01-01
00:00:00' WHERE CONVERT( `materia`.`Codmateria` USING utf8 ) <> 'AAAAAA'
LIMIT 5 ;
Modifique los registros que desee para mostrar los servicios filtrados
Script de inserción
INSERT INTO `a6240432_carnet`.`alumnos` (`Carnet` ,`Nombre` ,`Apellido` ,`Sexo` ,
`Matganadas` ,`fecha_modificado` )
VALUES ('NN00004', 'nuevo1', 'nuevo2', 'M', '0', CURRENT_TIMESTAMP );
INSERT INTO `a6240432_carnet`.`materia` (`Codmateria` ,`Nommateria` ,
`Unidadesval` ,`fecha_modificado` )
VALUES ('MAT215', 'Matematicas 2', '4', CURRENT_TIMESTAMP );
INSERT INTO `a6240432_carnet`.`nota` (`Carnet` ,`Codmateria` ,`Ciclo` ,`Notafinal` )
VALUES ('NN00001', 'MAT215', '1', '4');
2
Servicio web de Alumnos filtrados desde una fecha.
Haga un archivo llamado ws_db_fecha.php que contenga:
<?php
$year=$_REQUEST['year'];
$month=$_REQUEST['month'];
$day=$_REQUEST['day'];
$servidor="mysql3.000webhost.com";
$usuario="a7428544_pdm115";
$password="pdm115";
$conexion=mysql_connect($servidor,$usuario,$password) or
die ("Problemas en la conexion");
$baseDatos="a7428544_carnet";
mysql_select_db($baseDatos,$conexion)
or die("Problemas en la seleccion de la base de datos");
$registros=mysql_query("Select * from alumnos where
fecha_modificado>'".$year."-".$month."-".$day."'",$conexion)
or
die("Problemas en el select:".mysql_error());
$filas=array();
while ($reg=mysql_fetch_assoc($registros))
{
$filas[]=$reg;
}
echo json_encode($filas);
mysql_close($conexion);
?>
Nota: Ajústelo a sus parámetros del hosting gratuito.
3
Servicio web de Materias filtradas desde una fecha.
Haga un archivo llamado ws_db_materia_fecha.php que contenga:
<?php
$year=$_REQUEST['year'];
$month=$_REQUEST['month'];
$day=$_REQUEST['day'];
$servidor="mysql3.000webhost.com";
$usuario="a7428544_pdm115";
$password="pdm115";
$conexion=mysql_connect($servidor,$usuario,$password) or
die ("Problemas en la conexion");
$baseDatos="a7428544_carnet";
mysql_select_db($baseDatos,$conexion)
or die("Problemas en la seleccion de la base de datos");
$registros=mysql_query("Select * from materia where
fecha_modificado>'".$year."-".$month."-".$day."'",$conexion) or
die("Problemas en el select:".mysql_error());
$filas=array();
while ($reg=mysql_fetch_assoc($registros))
{
$filas[]=$reg;
}
echo json_encode($filas);
mysql_close($conexion);
?>
4
Servicio web de Inserción de Notas.
Haga un archivo llamado ws_nota_insert.php que contenga:
<?php
$carnet=$_REQUEST['carnet'];
$codmateria=$_REQUEST['codmateria'];
$ciclo=$_REQUEST['ciclo'];
$notafinal=$_REQUEST['notafinal'];
$servidor="mysql3.000webhost.com";
$usuario="a7428544_pdm115";
$password="pdm115";
$respuesta=array('resultado'=>0);
json_encode($respuesta);
$conexion=mysql_connect($servidor,$usuario,$password) or
die ("Problemas en la conexion");
$baseDatos="a7428544_carnet";
mysql_select_db($baseDatos,$conexion)
or die("Problemas en la seleccion de la base de datos");
$resultado=mysql_query("Insert into nota
values('$carnet','$codmateria','$ciclo',$notafinal)",$conexion) or
die( json_encode($respuesta));
//Si la respuesta es correcta enviamos 1 y sino enviamos 0
if($resultado)
$respuesta=array('resultado'=>1);
echo json_encode($respuesta);
mysql_close($conexion);
?>
5
Probar Con la siguientes URL:
Consultar materias creadas desde una fecha
http://carnetpdm115.site40.net/ws_db_materia_fecha.php?year=2012&month
=01&day=01
Consultar alumnos creados desde una fecha
http://carnetpdm115.site40.net//ws_db_fecha.php?year=2012&month=01&da
y=01
Insertar Notas de alumnos(CON GET O POST)
http://carnetpdm115.site40.net/ws_nota_insert.php?carnet=NN0000
1&codmateria=MAT115&ciclo=1&notafinal=2
6
Obtener el Promedio de Notas de un Alumno
Servicio web de Traer promedio de notas x alumno.
Haga un archivo llamado ws_db_carnet_group.php que contenga:
<?php
$carnet=$_REQUEST['carnet'];
$servidor="mysql3.000webhost.com";
$usuario="a7428544_pdm115";
$password="pdm115";
$conexion=mysql_connect($servidor,$usuario,$password) or
die ("Problemas en la conexion");
$baseDatos="a7428544_carnet";
mysql_select_db($baseDatos,$conexion)
or die("Problemas en la seleccion de la base de datos");
$registros=mysql_query("Select Carnet,avg(Notafinal) as promedio
from nota where Carnet='".$carnet."' group by carnet",$conexion)
or
die("Problemas en el select:".mysql_error());
$filas=array();
while ($reg=mysql_fetch_assoc($registros))
{
$filas[]=$reg;
}
echo json_encode($filas);
mysql_close($conexion);
?>
Consultar Notas agrupadas por carnet
http://carnetpdm115.site40.net/ws_db_carnet_group.php?carnet=NN00001
Descargar