|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Cosas de Windows Webs interesantes
T Búsqueda en este sitio:


.

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

____________________________

398C.- Falta de alumnos a la clase. Apellidos con acento. MySQL. (III)

p398_falta_alumnos_MySQL_2.aia

 

- En el tutorial anterior: 398B.- Falta de alumnos a la clase. MySQL. (I) vimos cómo crear la tabla de curso en una base de datos y el código para poner las faltas de los alumnos.

- Teníamos problemas con los acentos en los apellidos. Los acentos se ven bien en la base de datos, también se ven en el VisorDeLista, pero cuando se llama a una página PHP con el apellido acentuado, se produce error.

http://kio4.esy.es/faltas_ver.php_2?Apellido=Ibáñez

- Vamos a solventar este error.

- He creado la tabla: curso2 con acento en los apellidos.

- Ha cambiado los archivos faltas_alumnos_2.php, faltas_poner_2.php, faltas_ver_2.php

- En esos archivos cambié donde ponía curso por curso2

- Donde ponía

$datos=$_GET;
$Apellido=$datos['Apellido'];

por

$datos=$_GET;
$id=$datos['id'];

 

$query = "SELECT Apellido, J, I, R FROM curso2 WHERE id='$id'";

mysql_query ("UPDATE curso2 SET J='$J', I='$I', R='$R' WHERE id='$id'" );

 

- Esos nombres de archivos lo he cambiado en los Bloques correspondientes de App inventor.

- En vez de enviar Apellido (como en el tutorial anterior) envío la id correspondiente.

- La id correspondiente a cada Apellido en la base de datos, coincide con el índice del SelectorDeLista seleccionado.

-------------------------------------------------------------------------------------------------

- Bajamos este archivo, con los apellidos acentuados y lo importamos a la base de datos u798509677_comun.

- crearcurso.sql

- En curso2 tenemos los Apellidos con acentos.

______________________
- Diseño, igual que antes.

                  

______________________
- Bloques.

- Al pulsar el Botón1, vamos al archivo:

http://kio4.esy.es/faltas_alumnos.php_2?

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 elemento del SelectorDeLista, vamos a:

http://kio4.esy.es/faltas_ver.php_2?

id= El índice elegido en el SelectorDeLista

 

 

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_2.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_2?
id=4
&J=.&I=.&R=X

 

Esto guardará en la base de datos de la forma

4 . . 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á: Álvarez, Benítez, Chávez, Domínguez,...

- El SelectorDeLista ObtendráTexto y lo pondrá en sus elementos.

faltas_alumnos_2.php
<?php
// Juan Antonio Villalpando.
// KIO4.COM

// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
$db_host="mysql4.000webhost.com";
$db_name="a1955265_gentes";
$db_login="a1955265_juan";
$db_pswd="contraseña";
$link = mysql_connect($db_host, $db_login, $db_pswd);

// 2.- CONEXION A LA BASE DE DATOS
mysql_select_db($db_name, $link);
mysql_query("SET CHARACTER SET utf8 ");

// 3.- ORDENAR LAS id

// Esto lo hacemos para asegurarnos que los id sean secuenciales, 1, 2, 3, 4 , 5...
// En realidad tal como hemos importado, no es necesario.

mysql_query("ALTER TABLE curso2 DROP id");
mysql_query("ALTER TABLE curso2 AUTO_INCREMENT = 1");
mysql_query("ALTER TABLE curso2 ADD id int NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST");

// 3.- VISUALIZACIÓN DE LOS DATOS
$query = "SELECT Apellido FROM curso2 ";
$result = mysql_query($query, $link);
if(mysql_num_rows($result)) { 
// Une los resultados
while($row = mysql_fetch_row($result))
{
$todos=$todos.$row[0].', ';
}
} 
// Envía los resultados separados por coma
echo $todos;
mysql_close($link);
?>

-----------------------------------------------------------------------------------

- Recibe:

$datos=$_GET;
$id=$datos['id'];
$J=$datos['J'];
$I=$datos['I'];
$R=$datos['R'];

id=4&J=.&I=.&R=X

- Actualiza UPDATE ese id con esos campos.

faltas_poner_2.php
<?php
// Juan Antonio Villalpando.
// KIO4.COM

// Obtención de datos.
$datos=$_GET;
$id=$datos['id'];
$J=$datos['J'];
$I=$datos['I'];
$R=$datos['R'];

// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
$db_host="mysql4.000webhost.com";
$db_name="a1955265_gentes";
$db_login="a1955265_juan";
$db_pswd="contraseña";
$link = mysql_connect($db_host, $db_login, $db_pswd);

// 2.- CONEXION A LA BASE DE DATOS
mysql_select_db($db_name, $link);
mysql_query("SET CHARACTER SET utf8 ");

// 3.- ACTUALIZA
mysql_query ("UPDATE curso2 SET J='$J', I='$I', R='$R' WHERE id='$id'" );
echo $Apellido;
mysql_close($link);
?>

-----------------------------------------------------------------------------------

- Recibe

$datos=$_GET;
$id=$datos['id'];

- SELECCCIONA J, I, R de la id enviada.

- 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.

faltas_ver_2.php
<?php
// Juan Antonio Villalpando.
// KIO4.COM

// Toma el dato de Apellido.
$datos=$_GET;
$id=$datos['id'];

// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
$db_host="mysql4.000webhost.com";
$db_name="a1955265_gentes";
$db_login="a1955265_juan";
$db_pswd="contraseña";
$link = mysql_connect($db_host, $db_login, $db_pswd);

// 2.- CONEXION A LA BASE DE DATOS
mysql_select_db($db_name, $link);
mysql_query("SET CHARACTER SET utf8");

// 3.- VISUALIZACIÓN DE LOS DATOS
$query = "SELECT Apellido, J, I, R FROM curso2 WHERE id='$id'";
$result = mysql_query($query, $link);
if(mysql_num_rows($result)) { 
// Une los resultados
while($row = mysql_fetch_row($result))
{
$faltas=$row[1].',-'.$row[2].',-'.$row[3].',-';
}
} 
echo $faltas;

mysql_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

__________________________________

 

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información