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
____________________________
410.- Test. MySQLi. PHP.
p410_mysql_test_2.aia
- Hay muchos tipos y formas de hacerTest:
- En App Inventor, sin salir a Internet.
- En App Inventor saliendo a Internet con PHP y MySQL.
- Respuestas mediante una sola opción (option) o mediante varias opciones (checkbox)
- Las preguntas en un archivo o dentro del código.
- Que muestre el resultado o que no lo muestre.
- Cada pregunta aislada en la pantalla o las preguntas en una pantalla deslizable.
- Las respuestas sean un número o una palabra.
- ...
- Aquí voy a mostrar la manera de hacer un test en donde las preguntas estarán en un archivo, las respuestas, que serán números, se enviarán mediante PHP a nuestra base de datos MySQL en Internet, tendrá opciones, las preguntas separadas.
- Este ejemplo funcionará de la siguiente forma:
1.- Saldrá la pantalla Screen1 en donde se mostrará la fecha actual en formato: dd/mm/aaaa
- Un CampoDeTexto, en donde el usuario escribirá su nombre. Debe pulsar el Botón "Pulsar para activar".
- Un Botón "Ir a cuestionario" que irá a la pantalla "Test" llevando la fecha actual y el nombre de usuario mediante dos TinyBD. |
|
2.- La pantalla "Test" tomará la fecha y el nombre desde las TinyBD.
- Leerá el archivo: mi_test.csv
- Al leer el archivo debemos cambiar las comas por #, ya que las comas se utilizarán más adelante como separador en la lista. Además cambiamos los punto y comas por comas, estas comas serán los separadores de lista.
- En la variable "pregunta" se obtiene todo el archivo pasado a lista.
- Pondremos título y la entrada de texto inicial, que estarán en la última línea de la tabla, por eso ponemos numero_de_preguntas + 1
- Volvemos a poner # y coma, para que si esa línea tuviera coma al principio y se la quitáramos anteriormente, se la volvemos a poner.
- Ponemos todas las respuestas a -1 dentro de una TinyBD_Guarda_Respuesta, si no contesta alguna, permanecerá en -1 (pregunta no contestada: -1)
- Cuando pulsamos los botones "Siguiente" o "Anterior" se incrementa o decrementa: pregunta_numero.
- En el Procedimiento "siguiente_anterior" se toma de la lista "pregunta" la pregunta correspondiente a la pregunta_numero actual.
- Se pone el enunciado y los textos de las posibles respuestas.
- En la TinyBD_Guarda_Respuesta se van guardando las respuestas. |
|
___________________________________________
- Base de datos.
- Continuando con la base de datos xxxxx_tutorial y su tabla usuarios que vimos en el tutorial anterior, añadimos las columnas p1 a p10, en donde se guardarán las 10 respuestas.
___________________________________________
1A.- Screen1. Diseño.
- La fecha aparecerá en formato: dd/mm/aaaa
- Se pasará a la otra pantalla la fecha y el nombre mediante sendas TinyBD.
___________________________________________
1B.- Screen1. Bloques.
___________________________________________
___________________________________________
___________________________________________
___________________________________________
2A.- Test. Diseño.
___________________________________________
2B.- Test. Bloques.
___________________________________________
- Código PHP.
bd_test.php |
<?php
// Juan Antonio Villalpando
// juana1991@yahoo.com
// http://kio4.com
// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
require_once('bd_autentifica.php');
// 2.- CONEXION A LA BASE DE DATOS
// mysql_select_db($db_name) or die(mysql_error());
$link = new mysqli($db_host, $db_login, $db_pswd, $db_name);
// Check connection
if ($link->connect_error) {
die('Connect Error: ' . $mysqli->connect_error);
}
$nombre = $_POST['nombre'];
$fecha = $_POST['fecha'];
$p1 = $_POST['p1'];
$p2 = $_POST['p2'];
$p3 = $_POST['p3'];
$p4 = $_POST['p4'];
$p5 = $_POST['p5'];
$p6 = $_POST['p6'];
$p7 = $_POST['p7'];
$p8 = $_POST['p8'];
$p9 = $_POST['p9'];
$p10 = $_POST['p10'];
$query="insert into usuarios (nombre, fecha, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) values ('$nombre','$fecha','$p1','$p2','$p3','$p4','$p5','$p6','$p7','$p8','$p9','$p10')";
$result = mysqli_query($link, $query);
echo "Guardado. ";
mysqli_close($link);
?>
|
mi_test.csv |
1.- El Cádiz C.F. es uno de los mejores equipos de la historia.;Muy en desacuerdo.;En desacuerdo.;De acuerdo.; Muy de acuerdo.
2.- La combinación de colores amarillo y azul resulta muy bonita y agradable.;Muy en desacuerdo.;En desacuerdo.;De acuerdo.; Muy de acuerdo.
3.- Si jugaran el Cádiz C.F. contra la selección de Alemania, ganaría el Cádiz C.F..;Muy en desacuerdo.;En desacuerdo.;De acuerdo.; Muy de acuerdo.
4.- Los árbitros generalmente, intentan que no gane el Cádiz C.F.;Muy en desacuerdo.;En desacuerdo.;De acuerdo.; Muy de acuerdo.
5.- El Cádiz C.F. algún día ganará La Liga.;Muy en desacuerdo.;En desacuerdo.;De acuerdo.; Muy de acuerdo.
6.- El Cádiz C.F. algún día ganará La Champion.;Muy en desacuerdo.;En desacuerdo.;De acuerdo.; Muy de acuerdo.
7.- A los grandes futbolistas mundiales les gustaría jugar en el Cádiz C.F.;Muy en desacuerdo.;En desacuerdo.;De acuerdo.; Muy de acuerdo.
8.- El Carranza es uno de los estadios más bonitos del mundo.;Muy en desacuerdo.;En desacuerdo.;De acuerdo.; Muy de acuerdo.
9.- Muchos equipo imitan el juego del Cádiz C.F.;Muy en desacuerdo.;En desacuerdo.;De acuerdo.; Muy de acuerdo.
10.- Me justaría jugar en el Cádiz C.F.;Muy en desacuerdo.;En desacuerdo.;De acuerdo.; Muy de acuerdo.
AMOR POR EL CÁDIZ C.F.;Por favor, lea las frases que figuran a continuación y señala el nivel de acuerdo o desacuerdo que tiene con cada una de ellas.
Pulsa el botón [Siguiente].
|
____________________
- Comentarios.
- En el archivo mi_test.csv puedes cambiar las frase "En desacuerdo", "De acuerdo",... por otras distintas, por ejemplo pregunta la capital de España y poner París, Madrid, Roma, Lisboa.
- En la TinyBD_Guardar_Respuestas, en vez de poner números puedes poner palabras.
- Si no quieres que las preguntas no contestadas valgan -1, pon ese valor a 0 o quita esos bloques del TinyBD_Guardar_Respuesta en el Inicio.
- Las 10 Respuestas estarán en la TinyBD_Guardar_Respuesta, súmalas mediante un bucle.
__________________________________
|