App inventor 2 en español
Cómo programar los teléfonos móviles con Android
mediante App inventor 2 - Juan Antonio Villalpando
--- PHP y MySQL en App Inventor 2 --
Volver al índice del tutorial de PHP y MySQL
____________________________
398B.- Falta de alumnos a la clase. MySQL. (II)
p398_falta_alumnos_MySQL.aia
- En el tutorial anterior: 398.- Falta de alumnos a la clase. MySQL. (I) vimos cómo crear la tabla de curso en una base de datos:
- crearcursosinacentos.sql
- Ahora vamos a ver el código de Bloques en App inventor.
______________________
- Diseño.
______________________
- Bloques.
|
- Al pulsar el Botón1, vamos al archivo:
http://kio4.esy.es/faltas_alumnos.php?
y ObtenemosTexto del listado de alumnos que está en la base de datos vista anteriormente.
Ese contenidoDeRespuesta se introduce en el SelectorDeLista.
DespuésDeSeleccionar un elemente del SelectorDeLista, vamos a:
http://kio4.esy.es/faltas_ver.php?
Apellido= El apellido seleccionado.
Esta es la parte más difícil de entender.
- Se consulta cómo está los campos J, I y R de la tabla para ponerlo con las CasillasDeVerificación.
El archivo faltas_ver.php devuelve J, I, R de ese Apellido.
.,-.,-X,-
Se recorta por cada ,-
Se introduce en la lista. 1 = .
2 = .
3 = X
Solo puede haber una X en cada Apellido, pone cierto en la CasillaDeVerificación correspondiente.
En caso que no tenga punto ni X, pone todas a falso
------------------------------------------------
Esta parte es fácil de entender.
Aquí están los eventos que ocurren cuando pulsamos alguna de las CasillasDeVerificación.
Lo de cierto y falso es para que si selecciona una, se desmarca las otras, de esta manera solo puede seleccionar una a la vez.
Cada vez que toca una CasillaDeVerificación va al proceso faltas_poner
Cada vez que toca una CasillaDeVerificación...
faltas=
&J=falso&I=falso&R=cierto
Cambia el falso por .
Cambia el cierto por X
faltas=
&J=.&I=.&R=X
Envía todo a:
http://kio4.esy.es/faltas_poner.php?
Apellidos=Rodriguez
&J=.&I=.&R=X
Esto guardará en la base de datos de la forma
Rodriguez . . X |
______________________
- Archivos PHP.
- Este archivo selecciona y envía todos los Apellidos de la base de datos.
- En $row[0]; estará cada apellido. Los vamos acumulando todos y separando por ,
$todos=$todos.$row[0].', ';
echo $todos;
- Devolverá: Alvarez, Benitez, Chavez, Dominguez,...
- El SelectorDeLista ObtendráTexto y lo pondrá en sus elementos.
faltas_alumnos.php
|
<?php
// Juan Antonio Villalpando.
// KIO4.COM
// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
$db_host="mysql.hostinger.es";
$db_name="u798509677_comun";
$db_login="u798509677_juan";
$db_pswd="contraseña";
// 2.- CONEXION A LA BASE DE DATOS
$link = new mysqli($db_host, $db_login, $db_pswd, $db_name);
mysqli_query($link, "SET CHARACTER SET utf8");
// 3.- VISUALIZACIÓN DE LOS DATOS
$query = "SELECT Apellido FROM curso ";
$result = mysqli_query($link, $query);
if(mysqli_num_rows($result)) {
// Une los resultados
while($row = mysqli_fetch_row($result))
{
$todos=$todos.$row[0].', ';
}
}
// Envía los resultados separados por coma
echo $todos;
mysqli_close($link);
?>
|
-----------------------------------------------------------------------------------
- Recibe:
Apellidos=Rodriguez&J=.&I=.&R=X
- Actualiza UPDATE ese Apellido con esos campos.
faltas_poner.php
|
<?php
// Juan Antonio Villalpando.
// KIO4.COM
// Obtención de datos.
$datos=$_GET;
$Apellido=$datos['Apellido'];
$J=$datos['J'];
$I=$datos['I'];
$R=$datos['R'];
// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
$db_host="mysql.hostinger.es";
$db_name="u798509677_comun";
$db_login="u798509677_juan";
$db_pswd="contraseña";
// 2.- CONEXION A LA BASE DE DATOS
$link = new mysqli($db_host, $db_login, $db_pswd, $db_name);
mysqli_query($link, "SET CHARACTER SET utf8");
// 3.- ACTUALIZA
mysqli_query ($link, "UPDATE curso SET J='$J', I='$I', R='$R' WHERE Apellido='$Apellido'" );
echo $Apellido;
mysqli_close($link);
?>
|
-----------------------------------------------------------------------------------
- Recibe
Apellidos.
- SELECCCIONA J, I, R de ese Apellido.
- Devuelve:
$faltas=$row[1].',-'.$row[2].',-'.$row[3].',-';
$faltas= .,-.,-X,-
No confundir el punto que sirve para unir caracteres con el punto que significa falso en las CasillasDeVerificación.
Fíjate que en este ejemplo tenemos . . X
- El ,- se utiliza para separar los campos.
NOTA:
Suponemos que vamos a seleccionar una cierta persona:
$query = "SELECT Nombre, Apellido, Edad FROM personas WHERE Apellido='$Apellido'";
Obtenemos el resultado:
$result = mysql_query($query, $link);
El resultado viene en row
row[1] = Luisito
row[2] = Álvarez
row[3] = 23
faltas_ver.php
|
<?php
// Juan Antonio Villalpando.
// KIO4.COM
// Toma el dato de Apellido.
$datos=$_GET;
$Apellido=$datos['Apellido'];
// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
$db_host="mysql.hostinger.es";
$db_name="u798509677_comun";
$db_login="u798509677_juan";
$db_pswd="contraseña";
// 2.- CONEXION A LA BASE DE DATOS
$link = new mysqli($db_host, $db_login, $db_pswd, $db_name);
mysqli_query($link, "SET CHARACTER SET utf8");
// 3.- VISUALIZACIÓN DE LOS DATOS
$query = "SELECT Apellido, J, I, R FROM curso WHERE Apellido='$Apellido'";
$result = mysqli_query($link, $query);
if(mysqli_num_rows($result)) {
// Une los resultados
while($row = mysqli_fetch_row($result))
{
$faltas=$row[1].',-'.$row[2].',-'.$row[3].',-';
}
}
echo $faltas;
mysqli_close($link);
?>
|
______________________
- Propuestas.
- Sabiendo que para añadir campos por código podemos utilizar dentro del PHP esta orden:
ALTER TABLE curso ADD J_10_3 VARCHAR(2);
ALTER TABLE curso ADD I_10_3 VARCHAR(2);
ALTER TABLE curso ADD R_10_3 VARCHAR(2);
- Crea un archivo PHP para que el profesor pueda elegir el día para poner las faltas, ampliando los campos de la base de datos.
Apellidos, Nombre, J_10_3, I_10_3, R_10_3, J_11_3, I_11_3, R_11_3
__________________________________
|